Подтвердить что ты не робот

Какой статус поддержки С++ 17 в GCC?

Clang имеет приятную страницу, описывающую статус проекта w.r.t. С++ 1z/С++ 17 (и С++ 11 и С++ 14, это одна и та же страница).

g++ имеет страницу с функциями С++ 14, но я ничего не мог найти о С++ 17/С++ 1z. Это работает, но просто не присутствует в Интернете? Для версии 5.0?

4b9b3361

Ответ 1

Обновленный окончательный краткий ответ:

  • GCC 8.x (и более поздние версии) полностью поддерживает все С++ 17.
  • GCC 7.x поддерживает все С++ 17, за исключением вывода аргументов шаблона класса.
  • GCC 6.x (и более ранние версии) практически не поддерживает возможности С++ 17.

Спасибо @JanVanDijk за ссылку на полную таблицу функций.

Ответ 3

Уже есть поддержка; Следующие два резюме ориентированы на список Clang:

Поддерживается (по состоянию на 5 июля 2015 года):

  • auto для параметров функции поддерживается с 4.9. Эта функция в настоящее время считается расширением, но включена в предложение концепций и называется "общие функции".
  • Триграфы игнорируются по умолчанию начиная с 5.1.0
  • typename для параметров шаблона шаблона начиная с 5.1.0
  • новые правила вывода для инициализации direct-list с версии 5.1.0
  • static_assert без сообщения в HEAD
  • u8 символьные литералы в HEAD
  • Атрибуты для пространств имен или перечислений в HEAD

Неподдерживается (по состоянию на 5 июля 2015 года, со ссылками на допустимое использование примера):

Для статуса реализации предложений библиотеки в libstdС++ в соответствующем руководстве есть список.

Ответ 4

В cppreference.com также есть таблица, содержащая список поддерживаемых функций для нескольких компиляторов.

http://en.cppreference.com/w/cpp/compiler_support