Пространства имён
Варианты
Действия

Поддержка компиляторами языка C++

Материал из cppreference.com
< cpp
 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 

Следующая таблица показывает поддержку текущими компиляторами новых возможностей языка C++. Включает в себя возможности C++11, C++14 и некоторые другие технические спецификации.

Возможность C++
 
Документ(ы)
 
HP aCC
EDG eccp
GCC
Intel C++
MSVC
IBM XLC++
Sun/Oracle C++
Embarcadero C++ Builder
Digital Mars C++
Clang
alignas N2341 4.8 15.0 11.0* 3.0
alignof N2341 4.5 15.0 Да 2.9
Atomic operations N2427 4.4 13.0 11.0 3.1
auto N1984(v1.0) 4.1(v0.9) 4.4(v1.0) 11.0(v0.9)
12.0(v1.0)
10.0(v0.9) 11.1(v1.0) Да
C99 preprocessor N1653 4.3 11.1 10.1 5.9 Да Да
Concepts (удалено из стандарта) N2617
constexpr N2235 4.6 13.0*
14.0
12.1 3.1
decltype v1.0: N2343

v1.1: N3276

4.1(v1.0) 4.3(v1.0)
4.8.1(v1.1)
11.0(v1.0)
12.0(v1.1)
10.0(v1.0)
11.0(v1.1)
11.1(v1.0) Да 2.9
Defaulted and deleted functions N2346 4.1 4.4 12.0 12.0 3.0
Delegating constructors N1986 4.7 14.0 12.0 11.1 3.0
Explicit conversion operators N2437 4.5 13.0 12.0 12.1 Да 3.0
Extended friend declarations N1791 4.1 4.7 11.1*
12.0
10.0* 11.1 2.9
extern template N1987 3 3.3 9.0 6.0 11.1 Да Да
Forward enum declarations N2764 4.6 11.1*
14.0
11.0 12.1 3.1
Inheriting constructors N2540 4.8 15.0 3.3
Initializer lists N2672 4.4 13.0*
14.0
12.0 3.1
Lambda expressions v0.9: N2550

v1.0: N2658
v1.1: N2927

4.1(v0.9) 4.5(v1.1) 12.0(v1.1) 10.0(v1.0)
11.0(v1.1)
3.1
Local and unnamed types as template parameters N2657 4.5 12.0 10.0 2.9
long long N1811 Да Да Да Да Да Да Да Да Да Да
Namespace Association N2535 4.4 14.0 11.1 2.9
New character types N2249 4.4 12.1*
14.0
2.9
Trailing function return types N2541 4.1 4.4 12.0 10.0 12.1 2.9
nullptr N2431 4.6 12.1 10.0 2.9
Unicode string literals N2442 4.4 11.0* 5.7 Да 3.0
Raw string literals N2442 4.5 14.0 12.0 Да
User-defined literals N2765 4.7 15.0 3.1
Right angle brackets N1757 4.1 4.3 11.0 8.0 12.1 Да
R-value references v1.0: N2118

v2.0: N2844
v2.1: N2844+
v3.0: N3053

4.1(v1.0) 4.3(v1.0)
4.5(v2.1)
4.6(v3.0)
11.1(v1.0)
12.0(v2.0)
14.0(v3.0)
10.0(v2.0)
11.0(v2.1)
12.1(v2.1) Да Да
static_assert N1720 4.1 4.3 11.0 10.0 11.1 Да 2.9
Strongly-typed enum N2347 4.4 13.0 11.0 12.1 Да 2.9
Template aliases N2258 4.7 12.1 12.0 3.0
Thread-local storage N2659 4.4*
4.8
11.1*
15.0*
10.0* 5.9* 3.3*
3.3
Unrestricted unions N2544 4.6 14.0* 3.0
Type traits N1836 6.16 4.0 4.3 10.0 8.0 Да 3.0
Variadic templates v0.9: N2242

v1.0: N2555

4.1(v0.9) 4.3(v0.9)
4.4(v1.0)
12.1(v1.0) 12.0 11.1(v0.9) 2.9(v1.0)
Range-for loop N2930 4.6 13.0 11.0 3.0
override and final v0.8: N2928

v0.9: N3206
v1.0: N3272

4.7 12.0(v0.8)
14.0(v1.0)
8.0(v0.8)
11.0(v1.0)
2.9
Attributes N2761 4.8 12.1 3.3
ref-qualifiers N2439 4.8.1 14.0 2.9
Non-static data member initializers N2756 4.7 14.0 12.0 3.0
Dynamic initialization and destruction with concurrency N2660 4.3 11.1* 2.9

* - наведите курсор на номер версии, чтобы увидеть примечания


[править] Ссылки

Списки поддерживаемых возможностей отдельных поставщиков (они более актуальные, чем данные на этой странице)

  • GCC
  • Clang++
  • Intel C++
  • Oracle C++