1.NODE **ptr = (NODE **)node
NODE *delPtr = *ptr;
obj->addList(delPtr->strKey);
2.NODE **ptr = (NODE **)node;
obj->addList(*ptr->strKey);
我正在分析这个我正在制作的核心转储程序,功能似乎是一样的。 这两个声明有什么区别?第二个也会进行核心转储吗? 请帮忙。
答案 0 :(得分:6)
Operator precedence表示->
在取消引用运算符*
之前进行评估,因此
obj->addList(*ptr->strKey);
实际上是
obj->addList(*(ptr->strKey));
如果您想使用此表单,则需要在*ptr
obj->addList((*ptr)->strKey);