指针对象创作传染媒介

时间:2012-04-22 15:01:49

标签: c++

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

1 个答案:

答案 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();