Я бачу неоднозначне використання цих двох термінів тут на SO.
C ++ 11, також раніше відомий як C ++ 0x ...
але я не впевнений, чому.
- Чому його спочатку називали C ++ 0x, а потім C ++ 11?
- Крім того, що означає x? Моє припущення - як змінна?
Я бачу неоднозначне використання цих двох термінів тут на SO.
C ++ 11, також раніше відомий як C ++ 0x ...
але я не впевнений, чому.
0x
це означає ввести шістнадцятковий літерал.
Відповіді:
Стандарти С ++ та С зазвичай називаються за роком публікації, що полегшує запам'ятовування.
Наприклад, в C ++ оригінальний стандарт був опублікований у 1998 році, тому ми говоримо про C ++ 98, а коли ми маємо на увазі його першу виправлення, опубліковану в 2003 році, ми говоримо про C ++ 03.
Передбачалося, що наступний Стандарт після цього буде зроблено на 2008 рік, але оскільки він був невизначеним, його охрестили C ++ 0x, де значення x
було 8 або 9. На практиці, хоча, як ми всі знаємо, планування змінилося і ось у нас виходить C ++ 11.
Тим не менше, для наступної версії (C ++ 1x), Б'ярн Страуструп заявив, що має намір зробити це через 5 років (наприклад, близько 2016 року). На даний момент передбачені зміни в основній мові (концепції, модулі та збір сміття), і, схоже, основна увага приділяється розширенню бібліотеки (наприклад, файлової системи), але все ще рано, тому хто знає!
C ++ 0x - це назва стандарту до його випуску / доопрацювання. Після того, як він був остаточно затверджений (у 2011 році), ми змогли правильно його назвати. Тобто, C ++ 11.
Коли в 1998 році чи близько того розпочалась робота над новим стандартом, ніхто не знав, в якому році він буде доопрацьований, - тому "х" означало невідомий рік і надію, що він буде доопрацьований приблизно через десять років.
Врешті-решт, його було доопрацьовано в 2011 році, і тому стандарт тепер розмовно відомий як C ++ 11, а офіційно - ISO / IEC 14882: 2011.
Тепер, коли цей стандарт є офіційним, робота над наступним продовжується; знову ж таки, ніхто не знає, коли це буде зроблено, але сподіваємося, що це займе менше десятиліття, і тому в розмовній формі це C ++ 1x.