extra_vars3 | 1 |
---|---|
extra_vars4 | ko |
extra_vars5 | http://ko.wikipedia.org/wiki/C++11 |
extra_vars6 | link1 |
C++11
위키백과, 우리 모두의 백과사전.C++ 11(C++0x라고도 알려짐)은 [1] ISO가 2011년 8월에 승인한 C++ 프로그래밍 언어의 최신판이다. [2] 이름은 사양이 출판되는 날짜를 언어 버전 이름으로 삼는 전통으로 유래되었다.
C++11은 핵심 언어에 여러가지를 추가하고 C++ 표준 라이브러리를 확장하고, C++ 기술 보고서 1(TR1)의 라이브러리의 수학적 특수 함수의 라이브러리 예외를 통합했다.[3] C++11은 ISO/IEC 14882:2011라고 출판되었다</ref>
목차
[숨기기][편집]C++ 언어의 문법 확장
C++ 위원회의 주된 관심은 언어 문법을 개발하는 것이다. C++0x의 프리젠테이션 일정은 표준안에서 이 부분의 진행에 영향을 받는다.
언어의 문법적 범위는 멀티태스킹 지원, 제네릭 프로그래밍 지원, 초기화 방법 통합, 성능 향상 등으로 매우 증가하였다.
이 문서의 목적에 맞게, 문법적 기능과 변화는 "런타임 성능 향상", "컴파일 성능 향상", "편의성 향상", "새로운 기능"등의 4부분으로 그룹화하였다. 일부 기능은 여러 부분에서 언급될 수 있지만, 주된 기능에 대해서 한번씩만 설명할 것이다.
[편집]문법 기능의 런타임 성능 향상
- Rvalue 레퍼런스와 이동 의미
- 일반화된 상수식
- POD에 대한 재정의
[편집]문법 기능의 컴파일 성능 향상
- extern 템플릿
[편집]문법 기능의 편의성 향상
- 초기화 리스트
- 초기화 방법의 통합
- 자료형 추론
- 범위기반 for 반복문
- 람다 함수와 람다 식
- 함수선언의 다른 방법
- 객체 생성의 향상
- 명시된 가상함수 오버라이딩
- 널 포인터 상수
- 자료형에 안전한 enum
- 템플릿의 괄호처리
- 형변환 연산자로써의 explicit
- 템플릿 별명
- union에 대한 제한 해제
[편집]문법의 새로운 기능
- 템플릿에서의 가변 인자
- 새로운 문자열 리터럴
- 사용자 정의 리터럴
- 멀티태스킹 메모리 모델
- TLS
- 특수 멤버함수에 대해 기본값 사용및 삭제에 대한 명시적 표시
- long long int 자료형
- 정적 assertion
- 멤버에 대한 sizeof 허용
[편집]C++ 표준 라이브러리의 변화
새로운 기능의 상당수는 C++0x 표준 라이브러리에서 소개된다. 이들중 상당수는 현재의 표준안에서도 구현될 수 있다. 하지만 일부는 C++0x의 새로운 문법에 의존한다.
새로운 라이브러리의 대부분은 C++ 표준 위원회의 TR1이라고 불리는 기술 보고서에서 정의되고 있으며 이는 2005년에 발표되었다. TR1의 대부분은 std::tr1 네임스페이스에서 현재 이용가능하다. C++0x에 맞게 그 네임스페이스를 std로 이동할 것이다. 하지만 C++0x 표준 라이브러리에서 TR1 기능이 제공됨에 따라, 초기 TR1에서 제공되지 않았던 기능들과 함께 적당한 위치로 업그레이드될 것이다. 또한 C++03에서 구현 가능했던 기능들을 C++0x에 맞게 향상되겠지만 오리지날 TR1 규정의 부분은 아니다.
위원회는 C++0x 표준안이 완료된 이후에 TR2를 계획하고 있다. C++0x를 만들면서 준비되지 못한 라이브러리 제안사항은 TR2나 그 뒤의 기술 보고서에서 다룰 것이다.
다음 제안사항들은 C++0x에서 진행되고 있다.
- 표준 라이브러리의 업그레이드
- 스레드
- 튜플 자료형
- 해쉬 테이블
- 정규 표현식
- 범용 스마트 포인터
- 확장가능한 난수 생성기
- wrapper 레퍼런스
- 함수객체에 대한 다형성이 있는 wrapper
- 메타 프로그래밍을 위한 type traits
- 함수객체의 리턴형에 대한 방법
[편집]인용
- ↑ http://video.google.com/videoplay?docid=5262479012306588324#
- ↑ We have an international standard: C++0x is unanimously approved. 12 August 2011에 확인.
- ↑ Bjarne Stroustrup: A C++0x overview. 30 June 2011에 확인.
[편집]참고 사이트
블로그 넘실넘실 뒤적거리다...
이런거도 있구나... 하면서.. 근디 더 알고싶어지진 않네-
댓글 달기