На каком стандарте C будет основан C++14?

Какая версия стандарта C служит основой для C++14?

C++11 основан на C99 и был выпущен за несколько месяцев до C11. Будет ли C++14 основан на C11? В текущем черновике все еще (по состоянию на декабрь 2013 г.), по-видимому, говорится "на основе ISO/IEC 9899:1999", т.е. C99, и Я неоднократно слышал, что C++14 "почти завершен" и на данный момент претерпевает лишь незначительные изменения. Вероятно ли, что зависимость от C будет пересмотрена до того, как новый стандарт будет поставлен на голосование?


person Kerrek SB    schedule 07.12.2013    source источник
comment
Даже не близко к определенному, но N3538 говорит о добавлении ограничения C11 в качестве опции для решения проблемы с псевдонимами, я подозреваю, что если бы он был перебазирован, это не было бы дополнительным решением.   -  person Joachim Isaksson    schedule 07.12.2013
comment
@JoachimIsaksson: Да, restrict - больной вопрос ... Я слышал, как эксперты по C ++ жалуются, что он довольно плохо определен даже в C99, и вряд ли в ближайшее время он попадет в C ++. Меня больше интересует, скажем, возможность синхронизации модели памяти обоих языков.   -  person Kerrek SB    schedule 07.12.2013
comment
@KerrekSB: но модель памяти C ++ 11 в любом случае не определяется только ссылкой на C99 из-за взаимодействия с C11 по потокам. Так что я бы сказал да, модель памяти обоих можно синхронизировать. Независимо от того, на какую версию C ссылаются.   -  person Steve Jessop    schedule 07.12.2013
comment
Нам не нужны общие для типов макросы или другие функции C11 в C++, поэтому было бы плохой идеей перебазировать на C11. Нам могут понадобиться некоторые из новых библиотечных функций будущих стандартов C, но C++14 ссылается на C99, а не на текущий стандарт C.   -  person Jonathan Wakely    schedule 22.12.2013
comment
@JonathanWakely: Это позор — звучит как растущий раскол? Можете ли вы превратить это рассуждение в ответ?   -  person Kerrek SB    schedule 22.12.2013


Ответы (1)


По крайней мере, в текущем проекте стандарта C++ написано, что его нормативные документы включают

— ISO/IEC 9899:1999, Языки программирования — C

— ISO/IEC 9899:1999/Cor.1:2001(E), Языки программирования — C, Техническое исправление 1

— ISO/IEC 9899:1999/Cor.2:2004(E), Языки программирования — C, Техническое исправление 2

— ISO/IEC 9899:1999/Cor.3:2007(E), Языки программирования — C, Техническое исправление 3

Так что похоже, что новый стандарт C++ будет основан на C99.

person Vlad from Moscow    schedule 07.12.2013