차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

cpp0x [2011-05-30 18:25]
127.0.0.1 외부 편집기
cpp0x [2011-10-11 09:13] (현재)
lifthrasiir C++0x -> C++11
줄 1: 줄 1:
 ====== C++0x ====== ====== C++0x ======
- +#redirect [[Cpp11]]
-[[Cpp]]의 새 버전으로 계획되고 있는 표준.((정확한 이름은 [[ISO]]/IEC 14882:200x여야 하지만 뒤에서 말하듯 이미 200x는 물건너갔다.)) 본래는 [[2009년]] 발표를 목표로 하고 수년간 표준화 작업을 거쳤지만 역시나 지연에 지연을 거듭하며 C++0x를 C++1x로 바꿔야 할 판이 되었다. ([[C1x]]를 참고) 이걸 두고 [[Bjarne Stroustrup]]이 0x가 그 0x가 아니라 [[16진수]] 리터럴이라고 농을 치고 있다.(([[http://www2.research.att.com/~bs/C++0xFAQ.html#when-standard|C++0x FAQ]] 참고.)) 최근의 [[Herb Sutter]]의 글에 따르면 2011년 여름 발표로 [[http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/|거의 확정]]된 것 같다. +
- +
-가장 크게 보이는 변경점들: +
- +
-  * ''auto'' 키워드와 ''decltype()'' 타입 생성자. (후자는 원래 ''typeof''였지만 벤더마다 의미가 제각각이라고 이름을 아예...) +
-  * ''nullptr'' 키워드. +
-  * 가변 인자 [[템플릿]]. 사실상 [[튜플]]을 언어의 일부로 넣는 것에 거의 대응됨. +
-  * 템플릿 문법에서 닫는 ''> >''를 ''>>''로 써도 오류가 나지 않음. +
-  * 익명 함수 문법 지원. [[클로저]]는 선택적으로 사용할 수도 있고 하지 않을 수도 있다. +
-  * 객체 생성 문법의 대규모 추가. 대표적으로 ''std::initializer_list''와 ''{...}''를 사용한 일반적 초기화 문법이 있다. +
-  * 함수·클래스 정의에 몇 가지 변화. ''->''를 사용한 타입 선언이나, ''= default'' 등의 기본 생성자 정의, ''enum class'' 따위. +
-  * 문자열 리터럴이 쓸데 없이 복잡해짐. +
- +
-<del>이제 C++는 앞으로 10년동안 더 가장 배우기 어려운 언어의 위치를 고수할 수 있어!</del> +
- +
-{{tag>프로그래밍언어}}+

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-10-11 09:13 | 작성자 lifthrasiir