我必须Vector<MyObject*>
通过调用来实现AnotherClass::objectCollections()
。所以这里的返回类型应该是Vector<MyObject*>
. 另外我必须MyObject*
从另一个可以返回的函数中返回每个MyObject*
。这样它就可以填充向量。我是 C++ 核心编程的新手。我想知道在不崩溃的情况下实现这一点的更安全方法,即使动态创建的向量数组数量很大,如果您提供足够的示例或与所需返回类型的链接,它将非常有帮助。
问问题
816 次
1 回答
0
好的,这是一个示例。我用一些指向整数的指针填充了一个向量。然后我将它们一一删除,最后清除向量。如果我不会在 Vector.clear() 之前对每个元素手动调用 delete 运算符,则会出现内存泄漏。
std::vector<int*> Vector;
for (int i = 0; i < 10; i++)
Vector.push_back(new int(i));
std::vector<int*>::const_iterator It;
for (It = Vector.begin(); It != Vector.end(); It++)
{
int* n = *It;
if (n) delete n;
}
Vector.clear();
于 2012-04-22T16:36:36.497 回答