gpt4 book ai didi

c++ - RAII 如何与指针一起使用?

转载 作者:行者123 更新时间:2023-11-27 23:19:58 24 4
gpt4 key购买 nike

如果有一个类:

class classA {
public:
int z = 5;
};

我在编写 classA Aobject 时理解 RAII,但是如果我想声明一个全局指针,我该怎么办?

classA *Aobject;
int main()
{
Aobject = new classA; //not RAII

cout << Aobject->z << endl;

return 1;
}

最佳答案

我假设你的意思是你想声明一个对象,但你不想马上初始化它,可能是因为你还没有正确构造它所需的所有参数。那是对的吗?使用智能指针。

#include <memory>
#include <iostream>

std::unique_ptr<classA> Aobject;
int main()
{
Aobject.reset(new classA);

cout << Aobject->z << endl;

return 1;
}

关于c++ - RAII 如何与指针一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com