tem*_*nce 1 c++ null visual-studio-2013
C++中以下两个条件是否相同?他们都可以接受吗?我正在使用Visual Studio 2013 Express,我使用NULL.我的程序运行正常,但在我的作业等级上,它被计算在内,因为我使用的是NULL而不是'\ 0'.
if (charArray[0] == NULL)
if (charArray[0] == '\0')
Run Code Online (Sandbox Code Playgroud)
NULL是一个空指针常量.charArray[0]可能不是指针.因此,你不应该将它与之比较NULL.
C++标准说:
宏
NULL是本国际标准(4.10)中实现定义的C++空指针常量.
允许的定义包括但不限于0,0L和,在C++ 11, nullptr.如果NULL被定义为nullptr您的程序甚至不会编译.
在现代C++中,你应该使用像0或者'\0'你想要零的文字,nullptr如果你想要空指针.NULL不应该真的使用.