*该课程做什么?

时间:2015-06-10 12:34:07

标签: c++ visual-c++

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

ClassA* classa;

ClassA是一个类,那么*实际上对一个类有什么作用?以及这个?运营商?叫?

2 个答案:

答案 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

的对象