posted by 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




'프로그래밍 > C++11' 카테고리의 다른 글

auto  (0) 2015.03.06