小编cwe*_*est的帖子

'\ 0'和NULL可以互换使用吗?

NULL通常在指针的上下文中使用,并且通过多个标准库(例如<iostream>)中的宏来定义为整数0.'\0'是空字符,是8位零.顺便提一下,8位零等于整数0.

在某些情况下,虽然它被认为是可怕的风格,但这两者可以互换:

int *p='\0';
if (p==NULL) //evaluates to true
    cout << "equal\n";
Run Code Online (Sandbox Code Playgroud)

要么

char a=NULL;
char b='\0';
if (a==b) //evaluates to true
    cout << "equal again\n";
Run Code Online (Sandbox Code Playgroud)

关于SO已经有很多类似的问题; 例如,这个问题的最佳答案(NULL,'\ 0'和0之间的区别是什么)说"它们实际上不是一回事".

任何人都可以提供一个例子NULL\0不能互换(优选实际应用,而不是一个病理情况)?

c++ null

55
推荐指数
5
解决办法
5079
查看次数

标签 统计

c++ ×1

null ×1