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;
}
推荐阅读
-
SQL 中having 和where的区别分析
-
Python中print和return的作用及区别解析
-
深入Oracle的left join中on和where的区别详解
-
浅析Oracle中char和varchar2的区别
-
JavaScript中undefined和null的区别
-
Java线程中sleep和wait的区别详细介绍
-
Mybatis的mapper文件中$和#的用法及区别详解
-
深入浅析Jsp中 out.print 和 out.write 的区别
-
Python中内置数据类型list,tuple,dict,set的区别和用法
-
详解Python中 __get__和__getattr__和__getattribute__的区别