c+中**的含义+;类声明 我对使用C++中的一个双类星号延迟类类型感到困惑。

c+中**的含义+;类声明 我对使用C++中的一个双类星号延迟类类型感到困惑。,c++,class,syntax,member,C++,Class,Syntax,Member,我正在阅读的代码的一个解释是 class ThisClass : protected SuperClass { public: void MemberFunction(ThisClass** identifier); } 我理解带有一个星号的ThisClass*标识符,意味着标识符是指向ThisClass实例的指针。 **是重复的一轮“指向”,还是具有完全不同的含义 我应该如何解释成员函数的参数 是**重复的一轮“指向” 是的,它表示标识符的类型是指向-ThisClass的指针,即

我正在阅读的代码的一个解释是

class ThisClass : protected SuperClass
{
  public:
    void MemberFunction(ThisClass** identifier);
}
我理解带有一个星号的
ThisClass*标识符
,意味着
标识符
是指向
ThisClass
实例的指针。
**
是重复的一轮“指向”,还是具有完全不同的含义

我应该如何解释成员函数的参数

是**重复的一轮“指向”

是的,它表示
标识符
的类型是指向-
ThisClass
的指针,即指向
ThisClass*
对象,该对象本身是指针类型对象(指向
ThisClass
对象)

或者有完全不同的含义

不,没有特殊意义



类似地,在表达式中,
**
表示重复的取消引用。

ThisClass**
是指向指向ThisClass的指针的指针没有特殊意义,它是指向指针的指针。好奇之后。
ThisClass*
是隐式定义为自己的类(其实例存在于此),还是虚构地存在,好像是为了描述的目的?@XavierStuvw指针是一个与任何其他对象类似的对象。必须确保传递给函数的
ThisClass**
在其生存期内实际上指向
ThisClass*
对象,否则将像往常一样有一个悬空指针。关于这一点没有隐含的或特殊的。@ Xavier-Stuvw,并澄清:在正式C++语言中的对象并没有专门提到OOP意义下的类实例。例如,每个非参考变量,即使是基本类型,如
int x是我这里所指的形式意义上的对象。所以
这个类*ptr
将声明一个类型为
ThisClass*
的变量(从而引入一个对象),它是指针类型,而不是类类型。谢谢。在C++上下文中突出显示了Word对象的用法,因此告诉指针类型与类类型是特别有用的。您可能希望在答案中加入此解释,以提高可视性。