OpenCV:我们是不是需要删除 CvPoint 以及如何删除?
Posted
技术标签:
【中文标题】OpenCV:我们是不是需要删除 CvPoint 以及如何删除?【英文标题】: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 以及如何删除?
【问题讨论】:
【参考方案1】:您不需要删除它们,编译器会自动为您删除 CvPoint 实例,因为它们存储在堆栈中。
【讨论】:
【参考方案2】:您只需要删除指针,然后只需删除指向使用new
分配的对象的指针。通常,C++ 中的清理由析构函数自动处理(例如CvPoint::~CvPoint
)。因此delete
是异常的外部析构函数。
【讨论】:
以上是关于OpenCV:我们是不是需要删除 CvPoint 以及如何删除?的主要内容,如果未能解决你的问题,请参考以下文章
opencv的基本数据类型CvPoint,CvSize,CvRect,CvScalar