Страницы

Поиск по вопросам

понедельник, 22 октября 2018 г.

Код, по-разному работающий в C++03 и C++11/14

Понятно, что изменение смысла auto от одного стандарта к другому приводит к возможности ошибки, или, наоборот, ошибочный из-за >> в шаблоне код становится нормальным.
А есть код, который при переходе от стандарта С++03 к С++11 (ну, или 14) меняет свой смысл? Работает и там и там но дает разные результаты?
Или даже в С++17? Короче, от одного какого-то стандарта к другому?


Ответ

В конце стандарта есть приложение "Совместимость", в котором перечислены все несовместимости с предыдущими стандартами.
Раздел про совместимость текущего стандарта и С++03
Несовместимостей много. Вот первая по списку:
#define u8 "abc" const char* s = u8"def"; // Раньше "abcdef", теперь "def"

Комментариев нет:

Отправить комментарий