Mediumhistorystandards

Какие основные нововведения в каждой версии C++ с 11 по 20?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

Краткая сводка ключевых фич по версиям.

  • C++11 (большой скачок): auto, decltype, range-based for, lambdas, move semantics, rvalue refs, smart pointers, nullptr, constexpr, initializer lists, uniform init, variadic templates, std::thread/atomic, override/final, strongly-typed enums;
  • C++14: binary literals, digit separators (1'000'000), generic lambdas, decltype(auto), relaxed constexpr, make_unique;
  • C++17: structured bindings, if constexpr, fold expressions, std::optional/variant/any, string_view, filesystem, parallel algorithms, CTAD, inline variables, mandatory copy elision;
  • C++20: concepts, ranges, coroutines, modules, <=> spaceship, designated initializers, consteval/constinit, std::span, std::format, calendar/timezone, jthread, bit operations.

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.