所以我碰到了一个函数的这段代码
void remove(Node * & p, const int & key){
if(!p){
throw out_of_range("The key you're looking for can't be found\n");
}
if(p == nullptr){
return;
}
我不太了解
!p
和p == nullptr
之间的区别。根据我对C++的了解,这两个语句似乎总是等效的。不是吗我错了吗?需要澄清。
谢谢!
最佳答案
实际上两者是相同的。您可以使用两者来检查指针是否为空。
希望这可以帮助 :)
关于c++ - C++- “!pointer”和 “pointer == nullptr”之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60365127/