C++20

C++20은 C++ 프로그래밍 언어를 위한 표준인 ISO/IEC의 개정판을 지칭하는 비공식적인 이름이다. C++20은 C++17의 후속작이다. 표준 위원회는 C++20 계획을 2017년 7월에 시작했다. 현재 기안은 N4750이다.

아래는 C++20에 추가되기로 제안되었거나 논의된 항목들의 일부이다.

새 기능 후보 
2017년 7월에 C++20의 초안에 포함되기로 건의된 항목들:

 콘셉트
 지정 생성자 (designated initializer, C99의 기능 기반)
 람다 갈무리(capture)에 [=, this] 사용 가능
 람다에서 템플릿 파라미터 리스트 사용

2017년 11월에 열린 가을 회의에서 C++20에 추가하기로 건의된 항목들:

 우주선 연산자(operator <=>)를 이용한 세갈래 비교(Three-way comparison)
 범위 기반 for문 안에서 추가 변수의 초기화
 memcpy()보다 덜 장황하면서 컴파일러 내부를 활용할 수 있게 해주는 비트 단위 객체 복사(Bit-casting of object representations)
 std::shared_ptr를 위한 std::atomic의 특수화
 평가되지 않은 콘텍스트에서의 람다
 생성과 할당이 가능하고 상태가 없는 기본 람다
 람다 init-capture에서 pack expansion을 지원
 템플릿 파라미터에서 문자열 리터럴 사용 가능

그 외 가능성이 있는 항목들:

 코루틴 - Clang 5에서 시험적으로 지원함
 모듈 - Clang 5와 비주얼스튜디오 2015 업데이트 1에서 시험 적용
 트랜잭셔널 메모리
 리플렉션
 메타클래스

라이브러리 변경 후보 

 어토믹 스마트 포인터 (std::atomic_shared_ptr와 std::atomic_weak_ptr)
 확장된 future
 래치와 배리어
 네트워킹 확장, async, 기본적인 I/O 서비스, 타이머, 버퍼와 버퍼 기반 스트림, 소켓, 인터넷 프로토콜 등
 범위(range)
 태스크 블록

참조 

 C++
 C++98
 C++03
 C++11
 C++14
 C++17
 C11 (C 버전)
 C18 (C 버전)

각주 

C++
프로그래밍 언어 표준