这可能是一个愚蠢的"问题,但我不知道该代码中的*做什么。
ClassA* classa;
ClassA是一个类,那么*实际上对一个类有什么作用?以及这个?运营商?叫?
答案 0 :(得分:1)
*
对类没有任何作用,它通过使它成为指针来改变声明变量的类型:
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
答案 1 :(得分:0)
指针声明。
在此声明之后,classa
是一个变量,其类型为"指针指向一个对象" 。它可以指向任何ClassA
对象,或任何继承自ClassA