请大家来讨论讨论什么是空值

isml 2006-01-16 12:03:55
看More Effective C++时想到了这个问题
0算不算空值。NULL应该是空值吧。NULL很多时候的定义就是0(#define NULL 0)。
不能对空值进行引用,是不是指不能对0进行引用(即是不是const int & a = 0是错误的)
...全文
217 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeusnchen 2006-01-17
  • 打赏
  • 举报
回复
偶觉得“空值”其实应该理解为“无效值”
不同的type它的空值也不一样,只不过对指针之类的大家约定空值为0
为了避免混淆
C++中应该尽量避免使用NULL这样的宏
ouyh12345 2006-01-16
  • 打赏
  • 举报
回复
const int & a = 0; 是正确的,这个0是数值0。
注意,NULL是针对指针,
#define NULL 0是指指针的值为0。
逸学堂 2006-01-16
  • 打赏
  • 举报
回复
指针中的NULL,一般定义为
#define NULL 0
指针中的0在编译时,把指针指向操作系统内存.
这样如何空指针的访问都会造成非法操作.

所以这是0 与数字0是不同的.
当定义数字0时,会产成一个int对象.这个int对象保存数组0对象.

Seben 2006-01-16
  • 打赏
  • 举报
回复
恩,在谈指针的时候,我们可以说0是一个特殊的值,但它不是空值。
dolphin87 2006-01-16
  • 打赏
  • 举报
回复
0当然不算空值
Seben 2006-01-16
  • 打赏
  • 举报
回复
仅仅是一个约定而已拉~~

C++里面的NULL和数据库里的NULL是不同di
pzt2004 2006-01-16
  • 打赏
  • 举报
回复
我认为空值就是不指向任何地址的指针和引用.
Bible_Chou 2006-01-16
  • 打赏
  • 举报
回复
bu shi

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧