Почему проект C ++ «Hello World», сгенерированный Visual Studio, выглядит немного странно? - PullRequest
3 голосов
/ 11 мая 2011

Я новичок в программировании на C ++ (хотя у меня есть опыт работы с Java, C # и Visual Basic).Я использовал Visual Studio 2010 для создания примера проекта по умолчанию «Hello World», но когда я изучаю пример кода, который он генерирует, он выглядит немного иначе, чем код, который я вижу при просмотре учебников по C ++.

В ходе своих исследований я узнал, что существует две версии C ++ или, по крайней мере, два разных стандарта.Я думаю, что они называются CLR и CLI.Какой стандарт или версию я должен научиться программировать в будущем?

Ответы [ 2 ]

10 голосов
/ 11 мая 2011

Есть обычный, обычный, основанный на стандартах ISO C ++ , который, вероятно, вы видите в учебниках. Если вы хотите писать приложения для Windows на обычном C ++, вы, вероятно, будете ориентированы на Win32 API (или используете набор классов, которые обертывают базовые функциональные возможности Win32 API, такие как MFC).

Тогда есть C ++ / CLI , который почти можно рассматривать как совершенно новый язык (хотя и расширенный набор C ++), который включает расширения Microsoft в Для поддержки .NET Framework. Он стандартизирован как ECMA-372 . .NET Framework работает поверх CLR, поэтому версия C ++, совместимая с CLR, называется «C ++ / CLI».

Вы, вероятно, хотите прямо сейчас полностью игнорировать вариант языка C ++ / CLI. Это действительно полезно только в сценариях взаимодействия с кодом .NET. Так как вы, кажется, хотите изучать C ++, дополнительные вещи из CLI будут просто отвлекать внимание. Вы хотите изучить real C ++, а не .NET Framework, привитую поверх C ++. Если вы хотите изучать .NET, вместо этого начните с C # или VB.NET.

Немного больше информации о различиях между C ++ и C ++ / CLI доступно в мой ответ здесь .

3 голосов
/ 11 мая 2011

c ++ / cli - это язык на основе dotNET, в зависимости от CLR .

C ++ определяется стандартом ISO,и его не следует путать с Microsoft ++ c ++ / CLI

. Если вы хотите работать с языком на основе dotNET, учите C # , а не C ++ / CLI.Скорее всего, ваши уроки для обычного C ++ - это гораздо чаще, чем C ++ / CLI.Visual Studio хорошо работает со стандартным C ++ или C ++ / CLI, вы выбираете, какой использовать при создании проекта.

...