В чем разница между С++ 0x и С++ 11? - программирование
Подтвердить что ты не робот

В чем разница между С++ 0x и С++ 11?

Я вижу смешанное использование этих двух терминов здесь на SO.

Википедия говорит

С++ 11, также ранее известный как С++ 0x...

но я не уверен, почему.

  • Почему он сначала назывался С++ 0x, а затем С++ 11?
  • Кроме того, что означает x? Мое предположение - как переменная?
4b9b3361

Ответ 1

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

Например, в С++ исходный Стандарт был опубликован в 1998 году, поэтому мы говорим о С++ 98, и когда мы ссылаемся на его первую коррекцию, опубликованную в 2003 году, мы говорим о С++ 03.

Предполагалось, что следующий стандарт после этого будет выполнен в 2008 году, но поскольку он был неопределенным, он был назван С++ 0x, где x означало либо 8, либо 9. На практике, хотя, как мы все знают, планирование смещено, и поэтому мы заканчиваем С++ 11.

Тем не менее, для следующей версии (С++ 1x) Бьярне Страуструп заявил о своем намерении сделать это через 5 лет (примерно 2016 год). На данный момент есть изменения, внесенные в основной язык (концепции, модули и сбор мусора), и, похоже, основное внимание уделяется расширению библиотеки (например, файловой системы), но это еще рано, так что кто знает!

Ответ 2

С++ 0x - это имя для стандарта, прежде чем оно было выпущено/завершено. Как только он был завершен (в 2011 году), мы смогли назвать его правильно. То есть, С++ 11.

Ответ 3

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

В конце концов, это было завершено в 2011 году, и поэтому стандарт теперь известен в обычном режиме как С++ 11 и официально как ISO/IEC 14882: 2011.

Теперь, когда этот стандарт является официальным, работа продолжается дальше; опять же, никто не знает, когда это будет сделано, но он надеялся, что это займет меньше десятилетия, и поэтому он в обычном порядке называется С++ 1x.

Ответ 4

Поскольку стандарт планировалось выпустить/одобрить в 200x, но фактически был одобрен в 2011.