Термин «современный C++» часто используется как синоним выражения «код, использующий новый стандарт C++». Здесь «новый» может означать что угодно от C++11 до C++17, или даже то, что уже сейчас доступно из C++20. Я думаю, что современный C++ — это нечто большее, не ограничивающееся добавлением флага -std=c++17.
Что значит «современный»?
Если поискать значение слова «современный» в сети, одним из первых мы найдем определение из словаря Merriam-Webster. Вот две части, относящиеся к C++:
[...]
2: involving recent techniques, methods, or ideas: (up-to-date) modern methods of communication
3 capitalized: of, relating to, or having the characteristics of the present or most recent period of development of a language — Modern English
[...]
Техники, методы и идеи имеют отношение к чему-то большему, чем просто новые возможности языка. Часто эти новые возможности поддерживают или включают новые техники, но многие из них существовали уже достаточно долгое время. Что касается характеристик развития языка, в их основе лежит то, как мы используем язык. Это относится к тому, как мы комбинируем старые и новые возможности, и это нечто большее, чем просто рабочая программа на C++, или то, что включено в стандартную библиотеку. |