Каждый раз, когда любой вопрос задают, и текст ссылки необходим, я никогда не вижу MSDN отнесенная Ссылка Языка C++.
Я просматривал его, и я лично чувствую, что это чрезвычайно правильно написано.
Есть ли некоторая определенная причина, она не используется так же часто как стандарт?
Это, потому что это содержит некоторый VC ++ определенные функции?
Ответ довольно прост: ссылка MSDN не является авторитетной. Он сообщает вам, как ведет себя компилятор Microsoft, и да, это обычно совпадает с тем, что говорит стандарт. Но когда кто-то спрашивает, как язык C ++ справляется с какой-либо ситуацией, только один текст имеет какое-либо значение: стандарт ISO.
Поэтому, отвечая на вопросы о C ++, люди, как правило, ссылаются на стандарт. Если вы спросите конкретно о том, как MSVC реализует его, то MSDN будет вполне подходящим источником. Но большинство вопросов просто о C ++.
Или, другими словами: если MSDN содержит опечатку, значит, MSDN неверен. Если в стандарте ISO есть опечатка, значит, язык определяется именно так.
MS очень хорошо прояснила, какие части документа относятся к MS или нет, поэтому я согласен с тем, что ссылки на MS довольно хороши (особенно если вас интересуют расширения MS).
Обычно я обращаюсь к документации по стандартам, если ищу информацию о том, «что является стандартом», потому что:
Самый большой недостаток в том, что у меня пока нет электронной версии стандарта C90 ..
Я считаю, что это потому, что те из нас, кто ссылается на ссылку, ссылаются на сам стандарт.
Один интересный пример: просто посмотрите на все эти __ XXX ключевые слова !! (В стандарте C ++ его нет)
Это потому, что он содержит некоторые специфические особенности VC ++?
Я думаю, что это основная причина. Например, он часто содержит информацию о C ++ / CLI , а не только о C ++.
В справочнике по VC ++ 2010, как мне кажется, тщательно различают, какая часть находится в собственно C ++, а какая - в C ++ / CLI. Но чтобы сослаться на стандарт, конечно, лучше обратиться к самому стандарту. Документация VC ++ также часто ссылается на стандарт.
Стандарт C ++ определяет, как работает язык C ++, Справочник по языку Microsoft C ++ определяет, как работает реализация этого языка Microsoft.
Итак, если вы хотите знать, какое поведение гарантируется независимо от компилятора, Стандарт - это ваш путеводитель.Некоторые детали и определенные угловые случаи оставлены для определения там, и каждая реализация может определять расширения для языка, поэтому, если вы хотите использовать эти специфические свойства MSCV, Microsoft Language Reference должна их объяснить.
Большинство вопросов SO по C ++ прямо не требуют ответа, специфичного для MSVC, что может быть неверным для других компиляторов. Таким образом, обращение к стандарту дает общий, независимый от компилятора ответ, в то время как справочник по языку MS не имеет большого значения ни для чего другого, кроме MSVC.