[library] - Изменение: новые зарезервированные идентификаторы.
Обоснование: требуется новыми функциями.
Влияние на исходную функцию:
действительный код C ++ 2003, который использует любые идентификаторы, добавленные в стандартную библиотеку C ++ этим международным стандартом, может не скомпилировать или дать другие результаты в этом международном стандарте. Полный список идентификаторов, используемых стандартной библиотекой C ++, можно найти в Указателе имен библиотек в этом международном стандарте. [thread]
[headers]
Изменение: новые заголовки.
Обоснование: новая функциональность.
Влияние на исходной функции:
Следующие C ++ заголовки являются новыми:
<array>,
<atomic>,
<chrono>,
<codecvt>,
<condition_variable>,
<forward_list>,
<future>,
<initializer_list>,
<mutex>,
<random>,
<ratio>,
<regex>,
<scoped_allocator>,
<system_error>,
<thread>,
<tuple>,
<typeindex>,
<type_traits>,
<unordered_map>, и
<unordered_set>. Кроме того, следующие заголовки совместимости С являются новыми:
<ccomplex>,
<cfenv>,
<cinttypes>,
<cstdalign>,
<cstdbool>,
<cstdint>,
<ctgmath>, и
<cuchar>. Допустимый код C ++ 2003, в котором #includeзаголовки с такими именами могут быть недопустимыми в этом международном стандарте.
[swappable.requirements]
Влияние на исходную функцию: функция swap перемещена в другой заголовок.
Обоснование: удалить зависимость от <algorithm> for swap.
Влияние на исходную функцию: действительный код C ++ 2003, который был скомпилирован с ожиданием<algorithm> наличия подкачки,
возможно, придется вместо этого включить <utility>.
[namespace.posix]
Изменение: Новое зарезервированное пространство имен.
Обоснование: новая функциональность.
Влияние на исходную функцию:
глобальное пространство имен posix теперь зарезервировано для стандартизации. Допустимый код C ++ 2003, использующий пространство имен верхнего уровня, posix может быть недопустимым в этом международном стандарте.
[res.on.macro.definitions]
Изменение: Дополнительные ограничения на имена макросов.
Обоснование: Избегайте сложных для диагностики или непереносимых конструкций.
Влияние на исходную функцию:
Имена идентификаторов атрибутов не могут использоваться в качестве имен макросов. Действительный C ++ 2003 код , который определяет override, final,
carries_dependencyили в noreturn виде макросов является недействительным в настоящем стандарте.