gpt4 book ai didi

c++ - STL vector 、指针和类

转载 作者:搜寻专家 更新时间:2023-10-31 00:23:07 24 4
gpt4 key购买 nike

假设我有 2 个类:

class Class1
{
public:
std::vector<CustomClass3*> mVec;
public:
Class1();
~Class1()
{
//iterate over all the members of the vector and delete the objects
}
};

class InitializerClass2
{
private:
Class1 * mPtrToClass1;
public:
InitializerClass2();
void Initialize()
{
mPtrToClass1->mVec.push_back(new CustomClass3(bla bla parameters));
}
};

这行得通吗?或者在 InitializerClass2::Initialize() 方法中分配的内存可能会在方法终止后损坏?

谢谢!

最佳答案

简而言之,这会正常工作。

Initialize 中分配的内存在堆上。这意味着堆栈中的更改不会影响此内存的内容。

关于c++ - STL vector 、指针和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484355/

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