Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我有一个指针a = null; 并且我初始化另一个指针让我们说int * b;
a = null;
int * b;
如果我设置b = a,这会简单地给我b = null吗?
b = a
b = null
或者这会给我一个编译错误?
我知道这是一个简单的问题,但我想仔细检查我的理解
int *a = NULL int *b = a;
确保代码可以编译并且工作正常。指针b获得 的值NULL,与 相同a。
b
NULL
a
请注意,当您在代码中引用空指针时,它是NULLor 0,而不是null。或者更好的是,nullptr在 C++11 中使用。
0
null
nullptr
null 是 a 的值,通过 b = a,b 将取 a 的值,null。
所以没有错误。如果地址(指针的值)无效,则当您取消引用指针(使用 *)时,可能会出现问题。