Namespaces
Variants

C++14

출처: ko.cppreference.net
< cpp

C++14는 주요 버전 C++11 이후의 마이너 버전으로, 주로 사소한 개선 및 결함 수정이 포함됩니다. 승인은 2014년 8월 18일에 발표되었으며, 2014년 12월 15일에 출시되었습니다.

승인 전에는 C++1y가 2010년대 출시를 가리키는 용어로 사용되기도 했습니다.

새로운 언어 기능

새로운 라이브러리 기능

  • std::make_unique
  • std::shared_timed_mutex 및 std::shared_lock
  • std::integer_sequence
  • std::exchange
  • std::quoted
  • 및 기존 라이브러리 기능에 대한 많은 작은 개선 사항 (예:
    • 일부 알고리즘의 두 범위 오버로드
    • 형식 특성의 형식 별칭 버전
    • 사용자 정의 리터럴 (basic_string, duration 및 complex
    • 등)

결함 보고서

C++14에서 수정된 결함 보고서 (핵심 276개, 라이브러리 158개)

컴파일러 지원

C++14 핵심 언어 기능

C++14 기능

 
논문

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (구 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++
에 대한 조정된 표현 contextual conversions N3323 4.9 3.4 18.0* 예 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 (업데이트 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
기본 멤버 초기화가 있는 집계default member initializers  (FTM)* N3653 5 3.3 19.10* 예 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 예 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++ (구 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 라이브러리 기능

C++14 기능

 
논문

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr에 대한 <complex> N3302 5 3.4 19.0 (2015)* 예  17.1.0 5.15 10.3
투명 연산자 함수 객체  (FTM)* N3421 4.9 3.4 18.0* 예  17.1.0 5.15 10.3
std::result_of 및 SFINAE  (FTM)* N3462 5 예 19.0 (업데이트 2)* 예  17.1.0 5.15 10.3
constexpr에 대한 <chrono> N3469 5 3.4 19.0 (2015)* 예  17.1.0 5.15 10.3
constexpr에 대한 <array> N3470 5 3.4 19.0 (2015)* 예  17.1.0 5.15 10.3
constexpr에 대한 <initializer_list>, <utility> 및 <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
사용자 정의 리터럴에 대한<chrono>및<string>  (FTM)*  (FTM)* N3642 5 3.4 19.0 (2015)* 예  17.1.0 5.15 10.3
널 전방 반복자  (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
수정: constexpr 멤버 함수 (const 없이) N3669 5 3.4 19.0 (2015)*  예 17.1.0 5.15
10.3 형식으로 튜플 주소 지정: <std::get>T () (FTM) * N3670 5 3.4 19.0 (2015)*  예 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 변환 특성의 별칭 템플릿 transformation traits (FTM) * N3655 4.9 3.4 18.0* 
예std::complex 사용자 정의 리터럴 (FTM)* N3779 4.9 3.4 19.0 (2015)* 예 
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*

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

외부 링크

1.  C++14 - 위키백과
2.  작동하는 C++14 예제