gpt4 book ai didi

c++ - 在条件语句中使用 NULL 和 '\0' 是否相同?

转载 作者:行者123 更新时间:2023-11-30 01:16:38 25 4
gpt4 key购买 nike

下面两个条件在C++中是否相同?他们都可以接受吗?我使用的是 Visual Studio 2013 Express,我使用的是 NULL。我的程序运行良好,但在我的家庭作业成绩中,它被计入了,因为我使用 NULL 而不是 '\0'。

 if (charArray[0] == NULL)
if (charArray[0] == '\0')

最佳答案

NULL 是一个空指针 常量。 charArray[0] 可能不是指针。因此,您不应将它与 NULL 进行比较。

C++ 标准说:

The macro NULL is an implementation-defined C++ null pointer constant in this International Standard (4.10).

允许的定义包括但不限于 00L,以及 C++11 中的 nullptr。如果 NULL 被定义为 nullptr,您的程序甚至无法编译。

在现代 C++ 中,如果需要零,则应使用 0'\0' 之类的文字,如果需要,则应使用 nullptr空指针。 NULL 真的不应该被使用。

关于c++ - 在条件语句中使用 NULL 和 '\0' 是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com