我必须通过致电Vector<MyObject*>
来实施AnotherClass::objectCollections()
。所以这里的返回类型应该是Vector<MyObject*>
。另外,我必须从另一个可以返回MyObject*
的函数返回每个MyObject*
。这样它就可以填充Vector。我是C ++核心编程的新手。我想知道更安全的方法来实现它而不会崩溃,即使动态创建的矢量数组数量很大,如果你提供一个足够的示例或链接所需的返回类型,它将非常有用。
答案 0 :(得分: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();