指针作为参数传递,是将指针地址的值传入,函数内对指针地址的操作在函数结束后并不会改变指针指向的内容,在函数中应该对指针指向的内容操作,如果是创建新对象,则需传入指针的引用或指针的指针。

class MyClass
{
public:
    MyClass() {};
    ~MyClass() {};

private:

};

MyClass* ggg()
{
    return new MyClass;
}

void getptr(MyClass*& ptr)
{
    ptr = ggg();
}


int main()
{
    MyClass* ptr = nullptr;
    getptr(ptr);
    delete ptr;

}

 

posted on 2021-07-13 17:11  秦道友  阅读(111)  评论(0编辑  收藏  举报