C++11부터 추가된 nullptr은 NULL과는 다르다.
NULL
상수 0과 정확히 동일
nullptr
메모리 주소 0x00000000을 나타낸다.
아래의 예시를 통해 차이를 알 수 있다.
void print(int num)
{
std::cout << "정수 " << num << "입니다." << std::endl;
}
void print(int *ptr)
{
std::cout << "포인터 " << ptr << "입니다." << std::endl;
}
void main()
{
print(NULL);
print(nullptr);
}
출력
정수 0입니다.
포인터 00000000입니다.
'C++ > 기타' 카테고리의 다른 글
템플릿(Template) (0) | 2023.01.20 |
---|---|
깊은 복사와 얕은 복사 (0) | 2023.01.20 |
std::iterator와 std::reverse_iterator (0) | 2023.01.20 |
메모리 누수(Memory Leak) (0) | 2023.01.19 |
댕글링 포인터(Dangling pointer) (0) | 2023.01.19 |