Namespaces
Variants

Compiler support for C++14

From cppreference.net

* - 별표로 표시된 셀 위에 마우스를 올리면 * 추가 팝업 노트를 볼 수 있습니다.
DR nn - "DR" 뒤의 숫자 nn 은 결함 보고서가 적용되는 대상 C++ 개정판을 나타냅니다. 예: DR20 → C++20.

C++14 핵심 언어 기능

C++14 기능

문서

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
문맥적 변환 에 대한 표현 수정 N3323 4.9 3.4 18.0* Yes 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
이진 리터럴 ( FTM ) * N3472 4.3*
4.9
2.9 19.0 (2015)* 지원 4.10 11.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
decltype(auto) , 일반 함수의 반환 타입 추론  ( FTM ) * ( FTM ) * N3638 4.8 (부분적)*
4.9
3.3 (부분적)*
3.4
19.0 (2015)* 4.9 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
초기화/일반화된 람다 캡처 (init-capture)  ( FTM ) * N3648 4.5 (부분적)
4.9
3.4 19.0 (2015)* 지원 4.10 15.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.15
제네릭 람다 표현식 ( FTM ) * N3649 4.9 3.4 19.0 (2015)* 4.10 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
변수 템플릿 ( FTM ) * N3651 5 3.4 19.0 (Update 2)* 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
확장된 constexpr ( FTM ) * N3652 5 3.4 19.10* 4.11 17.0 17.4 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.15
기본 멤버 초기화자를 갖는 집계체 ( FTM ) * N3653 5 3.3 19.10* Yes 4.9 16.0 16.1 9.0 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
메모리 할당 생략/확장 memory allocations N3664 N/A 3.4 N/A Yes N/A N/A 17.4 N/A 8.6 10.3 17.1.0 1.1.0 N/A N/A
[[ deprecated ]] 속성 N3760 4.9 3.4 19.0 (2015)* 지원 4.9 15.0*
16.0
16.1 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14
크기 지정 할당 해제 ( FTM ) * N3778 5 3.4 19.0 (2015)* 지원 4.10.1 17.0 16.1 8.6 10.3 17.1.0 1.1.0 16.1.1* 5.14
숫자 구분자로서의 작은따옴표 N3781 4.9 3.4 19.0 (2015)* 지원 4.10 16.0 2015 9.0 8.6 10.3 17.1.0 1.1.0 13.1.2* 5.14


C++14 기능


논문
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++

C++14 라이브러리 기능

변경된 내용: - `Feature-testing macro:` → `기능 테스트 매크로:` - `Yes` → `예` C++ 관련 용어(std::quoted, FTM, __cpp_lib_quoted_string_io 등)와 HTML 태그, 속성, 코드는 그대로 유지되었습니다. 변경된 부분: - `Feature-testing macro:` → `기능 테스트 매크로:` - `Yes` → `예` HTML 태그, 속성, C++ 관련 용어(std::make_unique, FTM, __cpp_lib_make_unique 등)는 그대로 유지되었으며, 숫자 값과 코드 관련 내용도 원본을 그대로 보존했습니다. **번역 내용 설명:** - "Heterogeneous associative lookup" → "이종 연관 컨테이너 조회" (C++ 표준 용어 반영) - "Yes" → "예" (한국어로 자연스럽게 변환) - HTML 태그, 속성, 코드 관련 내용은 원본 그대로 유지 - FTM, N3657 등 C++ 관련 약어와 문서 번호는 번역하지 않음 - 모든 서식과 구조는 원본과 동일하게 유지 **변경된 부분:** - `title="Feature-testing macro:` → `title="기능 테스트 매크로:` - HTML 태그, 속성, C++ 관련 용어(std::is_final, FTM, LWG2112 등)는 그대로 유지 - 숫자 값과 버전 정보는 번역하지 않음 번역된 내용: - "Feature-testing macro:" → "기능 테스트 매크로:" - C++ 관련 용어(std::make_reverse_iterator, FTM, LWG2285 등)는 번역하지 않고 원본 유지 - HTML 태그, 속성, 코드는 모두 원본 그대로 보존 - 숫자 값과 버전 정보는 변경 없음
C++14 기능

문서

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr for <complex> N3302 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
투명 연산자 함수 객체 ( FTM ) * N3421 4.9 3.4 18.0* Yes 17.1.0 5.15 10.3
std::result_of SFINAE ( FTM ) * N3462 5 19.0 (Update 2)* 17.1.0 5.15 10.3
constexpr for <chrono> N3469 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
constexpr for <array> N3470 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
constexpr for <initializer_list> , <utility> and <tuple> N3471 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
개선된 std::integral_constant ( FTM ) * N3545 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
사용자 정의 리터럴 for <chrono> <string> ( FTM ) * ( FTM ) * N3642 5 3.4 19.0 (2015)* Yes 17.1.0 5.15 10.3
널(Null) 전방 반복자 ( FTM ) * N3644 5 (부분적)
10
3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
std::quoted ( FTM ) * N3654 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::make_unique ( FTM ) * N3656 4.9 3.4 18.0* 17.1.0 5.15 10.3
이종 연관 컨테이너 조회  ( FTM ) * N3657 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::integer_sequence ( FTM ) * N3658 5 3.4 19.0 (2015)* 17.1.0 5.15 10.3
std::shared_timed_mutex N3659 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
std::exchange ( FTM ) * N3668 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
const 없이 constexpr 멤버 함수 수정 N3669 5 3.4 19.0 (2015)* Yes 17.1.0 5.15 10.3
튜플을 타입으로 접근하기: std::get<T>() ( FTM ) * N3670 5 3.4 19.0 (2015)* Yes 17.1.0 5.15 10.3
듀얼-레인지 std::equal , std::is_permutation , std::mismatch ( FTM ) * N3671 5 3.4 19.0 (2015)* 지원 17.1.0 5.15 10.3
변환 특성에 대한 앨리어스 템플릿 ( FTM ) * N3655 4.9 3.4 18.0* Yes
std::complex에 대한 std::complex 사용자 정의 리터럴 ( FTM ) * N3779 4.9 3.4 19.0 (2015)* Yes
DR11: std::is_null_pointer ( FTM ) * LWG2247 4.9 3.4 19.0 (2015)*
std::is_final ( FTM ) * LWG2112 5 3.4 19.0 (2015)*
std::make_reverse_iterator ( FTM ) * LWG2285 5 3.4 19.0 (2015)*
std::shared_timed_mutex ( FTM ) * N3891 4.9 3.5 19.0 (2015)*
std::tuple_element_t ( FTM ) * N3887 4.10 3.5 19.0 (2015)*


C++14 기능


논문
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*