мета-данные страницы

C++

Стандарты

Развитие и взаимное влияние версий C и Cpp

  • Изначально была написана стандартная библиотека, но она не была стандартизирована1) и разные компиляторы имели свои собственные реализации.
  • C++98 (ISO/IEC 14882:1998)
    • появилась библиотека STL
    • потоки ввода-вывода
    • строки
  • C++03 (ISO/IEC 14882:2003)
    • описаны нюансов реализации компиляторов
    • многими рассматривается как лишь исправленный C++98
  • TR1 (TR 19768)
    • содержит 13 библиотек, которые стали частью C++11
  • C++11
  • C++14
    • механизм блокировки чтения-записи
    • обобщенные лямбды
    • обобщенные constexpr-функции
  • C++17
    • параллельные алгоритмы STL (Parallel STL)
    • стандартизированная файловая система
    • std::optional
    • std::variant
    • std::any
  • C++20
    • ranges
    • coroutines
    • concepts
    • modules
  • C++23
  • C++26

Таблица поддержки фич стандартов разными компиляторами.

Ресурсы

1)
Разработка единых стандартов для языка программирования, и в частности Си++, не является необходимой для успешной работы с языком. Об этом свидетельствует такой факт, что первый стандарт для Си++ был опубликован только в 1998 году, спустя почти двадцать лет со времени появления самого языка, который всё это время уже успешно применялся