nullptr和NULL的区别

nullptr是c++11引入的新的关键字

NULL只是一个宏定义

#define NULL    0

nullptr是一个新关键字,它被自动转换为各种pointer类型,但不会被转换为任何整数类型.这有助于在将"null pointer"被解释为一个整数值时避免歧义.

#include 
using namespace std;

void func(int) 
{
	cout << "int" << endl;
}
void func(void*) 
{
	cout << "void*" << endl;
}

int main() 
{
	func(0);
	func(NULL);
	func(nullptr);

	getchar();
	getchar();
	return 0;
}

nullptr和NULL的区别_第1张图片

你可能感兴趣的:(C/CPP)