정식 명칭 ISO/IEC 14882:2001. C++의 최신 버전으로, 본래는 2000년대에 발표할 것을 염두에 두고 C++0x라고 불렀으나 표준화 과정이 지연에 지연을 거듭하며 C++0x를 C++1x로 바꿔야 할 판이 되었다. 이걸 두고 Bjarne Stroustrup이 0x가 그 0x가 아니라 16진수 리터럴이라고 농을 친 적이 있다. 1) 최종적으로는 2011년 10월 국제 표준으로 출판되었다.
가장 크게 보이는 변경점들:
auto
키워드와 decltype()
타입 생성자. (후자는 원래 typeof
였지만 벤더마다 의미가 제각각이라고 이름을 아예…)nullptr
키워드.> >
를 >>
로 써도 오류가 나지 않음.std::initializer_list
와 {…}
를 사용한 일반적 초기화 문법이 있다.→
를 사용한 타입 선언이나, = default
등의 기본 생성자 정의, enum class
따위.
이제 C++는 앞으로 10년동안 더 가장 배우기 어려운 언어의 위치를 고수할 수 있어! 다행히도 C++ export는 이번 표준에서 아예 사라진다.