欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

cpp 中NULL和nullptr和0的区别

程序员文章站 2022-07-13 23:34:14
...

在cpp 中NULL 就是宏定义为 0

define NULL 0
#include "stdafx.h"
#include<iostream>
using namespace std;

int bar(int a, int b) {
	return 1;
}
int bar(int a, int* b) {
	return 2;
}
int main()
{
	cout<<bar(1, 0)<<endl; //打印1
	cout<<bar(1, NULL)<<endl;//打印1
	//在cpp 中NULL 宏定义为0,空指针就是0
	//使用0 作为空指针的坏处子在于上两个函数重载的时候,只会选第一个

	cout << bar(1, nullptr)<<endl;//打印2
	//cpp11 引入nullptr 解决这个问题,并且可以转换为其他类型的指针 
	cout << "hello,world" << endl;
    return 0;
}