Справочник по языку Microsoft C ++ - PullRequest
8 голосов
/ 14 апреля 2010

Всякий раз, когда задают какой-либо вопрос и требуется ссылочный текст, я никогда не вижу, чтобы Справочник по языку MSDN C ++ направлялся.

Я просматривал его, и лично я чувствую, что он очень хорошо написан.

Есть ли какая-то конкретная причина, по которой он используется не так часто, как стандарт?

Это потому, что он содержит некоторые специфические особенности VC ++?

Ответы [ 6 ]

8 голосов
/ 14 апреля 2010

Я полагаю, это потому, что те из нас, кто ссылается на ссылку, ссылаются на сам фактический стандарт.

3 голосов
/ 14 апреля 2010

Ответ довольно прост: ссылка на MSDN не является официальной.Он говорит вам, как ведет себя компилятор Microsoft, и да, он обычно совпадает с тем, что говорится в стандарте.Но когда кто-то спрашивает, как язык C ++ справляется с какой-то ситуацией, только один текст имеет какие-либо полномочия: стандарт ISO.

Поэтому, отвечая на вопросы о C ++, люди склонны ссылаться на стандарт.Если вы спросите , в частности, о том, как MSVC его реализует, то MSDN будет вполне допустимым источником.Но большинство вопросов просто о C ++.

Или, другими словами: если MSDN содержит опечатку, то MSDN не так.Если стандарт ISO содержит опечатку, то именно так определяется язык.

2 голосов
/ 14 апреля 2010

MS довольно хорошо прояснила, какие части документа относятся к MS или нет, поэтому я согласен, что ссылки на MS довольно хороши (особенно, если вы заинтересованы в расширениях MS).

Я обычно обращаюсь к документации по стандартам, если я ищу информацию о том, "что является стандартом", потому что:

  1. У меня они есть (см. Где найти текущие стандартные документы C или C ++? для ссылок на то, как их получить)
  2. это PDF-файлы, которые, как мне кажется, легче искать и читать, чем документы MSDN на основе Интернета или справки Windows
  3. они окончательные (если отвечать на вопросы о стандарте)

Самый большой недостаток в том, что у меня пока нет электронной версии стандарта C90 ..

2 голосов
/ 14 апреля 2010

Is it because it contains some VC++ specific features?

Я думаю, что это основная причина. Например, он часто содержит информацию о C ++ / CLI , а не только о C ++.

Ссылка на VC ++ 2010, как мне кажется, осторожна при различении, какая часть находится в собственно C ++, а какая - в C ++ / CLI. Но чтобы обратиться к стандарту, конечно, лучше обратиться к самому стандарту. Документация VC ++ также часто ссылается на стандарт.

0 голосов
/ 14 апреля 2010

Стандарт C ++ определяет, как работает язык C ++, Справочник по языку Microsoft C ++ определяет, как работает реализация этого языка в Microsoft.

Так что, если вы хотите знать, какое поведение гарантировано независимо от компилятора, The Standard - ваш гид. Некоторые детали и некоторые угловые случаи оставлены для определения реализацией, и каждая реализация может определять расширения языка, поэтому, если вы хотите использовать эти специфические свойства MSCV, Справочник по языку Microsoft должен объяснить их.

Большинство вопросов SO на C ++ в явном виде не требуют конкретного ответа MSVC, который может быть неверным для других компиляторов. Так что ссылка на Стандарт дает общий, независимый от компилятора ответ, в то время как Справочник по языку MS не будет иметь большого значения для чего-либо еще, кроме MSVC.

0 голосов
/ 14 апреля 2010

Один интересный пример: просто посмотрите на все эти __ XXX ключевые слова !! (Стандарт C ++ не имеет)

...