我的问题是,我有一个对象,我将在初始化后立即将其推入向量中。在当前方法超出范围后很长时间将使用该向量。
代码如下所示:
DataObject *ptrDataObj = new DataObject();
Parent::DataVector.push_back(ptrDataObj);
:
:
// end of method
这种实现肯定会导致内存泄漏。但是,如果我使用 RAII 而不是指针,则 DataObject 将在 DataVector 使用它时超出范围。我看到的唯一选择可能涉及某种副本。
我已经沉浸在 C# 中很多年了,现在我正试图重新认识自己在原生世界中。
请指教..