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

ClassA* classa;


ClassA是一个类,那么*实际上对一个类有什么作用?以及这个操作员如何?叫?

最佳答案

*对类不做任何事情,它通过将其变为指针来更改声明的变量的类型:

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/

10-13 08:41