我有以下代码:
const MyStruct* MyClass::MyMethod(void* *iter) {
if (!iter)
return NULL;
if (!*iter) {
// ...
两个条件之间有什么区别?
答案 0 :(得分:3)
iter
引用指向void的指针(即指向void指针的指针)
!iter
会检查iter
所指的地址,如果iter
持有NULL
,则会返回true。
!*iter
会检查iter
所持有的地址中存储的值,如果是NULL
,则会返回true。
通常,*
运算符是取消引用运算符,它通过指针读取地址帮助中的值。