C++中Vector/Map/List中尽量使用指针,避免直接保存对象

  昨天改了个模型,发现跟踪出问题了。吾当时猜测了一下原因,做了修改,结果还是不成功。

  今天跟别人一齐查,结论是:改的思路是对的,问题在于,修改的是复制实例,不是原实例。代码如下:

    //Vector detected;
    int object_num = detected->numObjects;
    for (int i=0; iobject[i];
        info.label = DECTED_CLASS_PERSON;
    }

  正确代码是:

    int object_num = detected->numObjects;
    for (int i=0; iobject[i].label = DECTED_CLASS_PERSON;
    }

  最早使用这个Vector的时候,吾亦觉得可能有问题。因为一直没有涉及到修改,所以一直没问题。这次一修改,终于出错了。所以吾虽然不喜欢使用指针,更避免使用对象。使用对象一个是复制了实例,另外一个就是不小心就忘记了。

  使用指针,自然就会产生释放问题,释放就有一个释放时间,早了不行,晚了就忘记了。这……

你可能感兴趣的:(C/C++)