프로그래밍/C++11
nullptr
WizardMania
2015. 3. 6. 10:10
기존 널포인터는 NULL을 사용했는데 일반적으로는 큰문제점이 없지만 실제적으로 #define NULL 0 으로 정의되어있었기 때문에 사실상 0이라는 정수형 이었다.
따라서 함수의 매겨변수로 NULL값자체를 넘긴다면 실제자료형은 int형으로 판단이 된다.
이런문제점들을 해결하기 위해 나온것이 nullptr 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void function(int a) { printf("int \n"); } void function(int* a) { printf("int* \n"); } int main() { function(NULL); function(nullptr); return 0; } | cs |
결과값
int
int*
널포인터 형식을 좀더 명확하게 해주므로 NULL 대신에 nullptr을 사용하는것이 좋을것 같음.
MSDN
https://msdn.microsoft.com/ko-kr/library/4ex65770.aspx