gpt4 book ai didi

c++ - if(!pointer) 和 if(!*pointer) 有什么区别?

转载 作者:行者123 更新时间:2023-11-27 23:47:29 26 4
gpt4 key购买 nike

我有以下代码:

const MyStruct* MyClass::MyMethod(void* *iter) {
if (!iter)
return NULL;
if (!*iter) {
// ...
这两个条件有什么区别?

最佳答案

iter 在您的代码中引用指向 void 指针的指针(即指向 void 指针的指针)

!iter 检查 iter 引用的地址,如果 iter 中包含 NULL,则返回 true。

!*iter 检查存储在iter 的地址中的值,如果是NULL 则返回真。

一般来说,*操作符就是解引用操作符,通过指针读取地址帮助中的值。

关于c++ - if(!pointer) 和 if(!*pointer) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49472847/

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