c++ - * 对那个类有什么作用?

标签 c++ visual-c++

这可能是一个“愚蠢”的问题,但我不知道 * 在该代码中做了什么。

ClassA* classa;

ClassA 是一个类,那么 * 实际上对类有什么作用呢?以及这个?运算符(operator)?叫什么?

最佳答案

* 不对类做任何事情,它通过使它成为一个指针来改变声明变量的类型:

ClassA *classa; // classa is a pointer to ClassA

可以添加多个星号,使指针指向指针,指针指向指针,等等:

ClassA **classa; // classa is a pointer to pointer to ClassA
ClassA ***classa; // classa is a pointer to pointer to pointer to ClassA

请注意,当在表达式(而不是声明)中使用相同的星号时,它会“降低”指针的级别,因此

ClassA *classa;
foo(*classa); // Dereferences the pointer, producing ClassA

关于c++ - * 对那个类有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30756506/

相关文章:

c++ - 如何 Hook 网络摄像头捕获?

c++ - wxWidgets - 通过 DLL 添加项目到 sizer

visual-c++ - Visual C++ : Invalid allocation size. 如何强制调试器在此消息上停止?

c++ - 链接 lib 时未解析的外部符号,编译器将字母 'A' 添加到函数名称

c++ - STL 中的 VS 编译器错误 C2752 ("more than one partial specialization matches")

c++ - 设置引用c++

c++ - 完美的shuffle和unshuffle,没有辅助数组

c++ - 在 C++ 中使用动态多维数组

c++ - SFML 中屏幕滚动时的鼠标位置

c++ - 如何按索引存储 vector 的 vector