[C++11 Overview] nullptr

Book Review 2013. 2. 18. 14:56

C++ 세계에 nullptr 이 등장했습니다.


literal value 0 은 


int a = 0;

int* p = 0;


이렇게 value 와 pointer 모두에 대입이 가능했습니다.


하지만 새로 등장한 nullptr 은


int* p = nullptr;

int a = nullptr; // error


value 로의 대입에 대해서는 에러를 내게 됩니다.

( reinterpret_cast<int>(nullptr) 같이 캐스팅을 통해 대입은 가능하지만.. )


책에서 주목할 만한 부분은 템플릿 코드의 인자 추론과 관련되는 부분인데,



이 코드에서 f(0) 에서 0 은 묵시적으로 널포인트 처리되지만


logAndCall 에서 0 은 int 형 으로 추론되고 f(int) 함수를 찾게 되기 때문에


에러를 내게 됩니다.


:

[C++11 Overview] Range-Based for Loops

Book Review 2013. 2. 18. 13:33
1. 배열

2. std 컨테이너

3. Initializer list

4. User Defined Type


Visual Studio 2012 , GCC 4.8 Release Beta 모두 Range-Based Loop 는 잘 지원해 주고 있습니다.

다만, Visual Studio 2012 의 경우 Initializer list 를 아직 미지원하기 때문에 3 번의 경우 에러가 납니다.



그리고 책에서는 unordered_multiset 과 shared_ptr 에 대해 아직 소개되지 않고 있다고 되어있지만

위 샘플 코드는 VS2012, GCC4.8 모두에서 잘 컴파일 됩니다.


'Book Review' 카테고리의 다른 글

[C++11 Overview] enum  (0) 2013.02.18
[C++11 Overview] nullptr  (0) 2013.02.18
[C++11 Overview] Counting Words Across Files  (0) 2013.02.18
이야기로 아주 쉽게 배우는 대수학  (0) 2012.02.22
제4판 Windows 시스템프로그래밍  (8) 2012.01.30
:

[C++11 Overview] Counting Words Across Files

Book Review 2013. 2. 18. 10:41

From : Book [ Overview of The New C++ (C++11) ]


현재 Visual Studio 는 2012 , GCC 는 4.8 베타 릴리즈 까지 나와 있는데,


둘 모두 아직까지는 C++11 을 완벽하게 지원하고 있지는 못 합니다.


그래서 C++11 의 기능들을 테스트 해보기 위해서는 둘을 같이 사용해서 테스트 해보는게 좋겠습니다.


using = ; 이나 initializer list 같은 문법 사항들은 GCC 쪽이,


std::regex 나 std::future 같은 표준 라이브러리 부분은 visual studio 가 더 지원을 해주는 느낌입니다.



'Book Review' 카테고리의 다른 글

[C++11 Overview] enum  (0) 2013.02.18
[C++11 Overview] nullptr  (0) 2013.02.18
[C++11 Overview] Range-Based for Loops  (0) 2013.02.18
이야기로 아주 쉽게 배우는 대수학  (0) 2012.02.22
제4판 Windows 시스템프로그래밍  (8) 2012.01.30
: