Стандарт С++17 официально принят

В начале марта в городе Кона, Гавайи, завершилась встреча международной группы WG21 по стандартизации C++. Основное время было посвящено обработке черновика С++17, но также было добавлено несколько интересных нововведений:

И 20 лет не прошло

std::optional и сравнения

Раньше операторы сравнения для класса std::optional выглядели так:

Что могло приводить к ошибкам компиляции:

Сейчас же проблема решена:

Теперь все перечисленные примеры будут компилироваться, а сравнение s == «Hello» будет работать без создания временного объекта строки.

Deduction guides

Следующий код теперь будет собираться:

std::array также добавили в explicit deduction guides.

std::byte

В С++17 появится тип данных std::byte. Теперь вместо этого:

можно писать это:

С остальными нововведениями можно ознакомиться на сайте российской рабочей группы по C++.

Источник: Рабочая Группа 21 С++