以下两个条件在C ++中是否相同?他们俩都可以接受吗?我正在使用Visual Studio 2013 Express,并且我使用了NULL。我的程序运行良好,但是在我的家庭作业成绩上,它被计算在内,因为我使用了NULL而不是'\ 0'。
if (charArray[0] == NULL)
if (charArray[0] == '\0')
NULL
是一个空指针常量。charArray[0]
可能不是指针。因此,您不应该将其与进行比较NULL
。
C ++标准说:
宏
NULL
是此国际标准(4.10)中实现定义的C ++空指针常量。
允许的定义包括但不限于0
,0L
和,在C ++ 11, nullptr
。如果NULL
被定义为nullptr
您的程序,甚至将无法编译。
在现代C ++中,如果需要零,并且需要空指针,则应使用类似0
或的文字。不应该真正使用。'\0'
nullptr
NULL
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句