是否可能有一个指针指向指向第一个指针所指向的变量的指针

Is it possible to have a pointer to a pointer point to the variable pointed by the first pointer?

本文关键字:指针 变量 第一个 是否 有一个      更新时间:2023-10-16

这样行吗:

Class MyClass{
public:
    void Foo();
private:
    MyClass** ppMyClass;
};
MyClass* pMyClass = new MyClass;
ppMyClass = &pMyClass;
delete pMyClass;
ppMyClass-> Foo();

如果它不能工作,将一个指针赋值给另一个指针并使用它来访问它所指向的类的函数的正确方法是什么?问题是,我想知道错误是否由内存泄漏引起:为什么我在此代码中得到WSAENOTSOCK错误?

那么,这行得通吗?

不,ppMyClass->Foo();不能工作,因为ppMyClassMyClass**而不是MyClass*

理论上,您可以执行(*ppMyClass)->Foo(),尽管在您的特定代码片段中,这将是未定义的行为,因为您在deletepMyClass之前立即执行。