【问题标题】:OpenCV: Do we need to delete CvPoint's and how to do it?OpenCV:我们是否需要删除 CvPoint 以及如何删除?
【发布时间】:2010-11-14 20:58:39
【问题描述】:

所以我们有类似的东西:

//...
    for(i=0;i<out->size;i++)
    {
        CvPoint pt1 = { out->values[ i * out->dim + 0 ], out->values[ i * out->dim + 1]};
        CvPoint pt2 = { out->values[ i * out->dim + 2 ], out->values[ i * out->dim + 3 ] };
        cvLine(destination, pt1, pt2, CV_RGB(240, 255, 255), 1, CV_AA,0);
    }
//...

每秒执行 24 次,大约 200 行。我们是否需要删除 CvPoint 以及如何删除?

【问题讨论】:

    标签: c++ c opencv


    【解决方案1】:

    您不需要删除它们,编译器会自动为您删除 CvPoint 实例,因为它们存储在堆栈中。

    【讨论】:

      【解决方案2】:

      您只需要删除指针,然后只需删除指向使用new 分配的对象的指针。通常,C++ 中的清理由析构函数自动处理(例如CvPoint::~CvPoint)。因此delete 是异常的外部析构函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-21
        • 2014-10-06
        • 2016-05-05
        • 2014-09-24
        相关资源
        最近更新 更多