删除Mat int函数(opencv)
delete Mat int function (opencv)
如果我创建一个函数,例如:
Mat func(const Mat& x, const Mat& y)
{
Mat result;
add(x,y,result);
return result;
}
result会被正确删除吗?
除非Mat
本身泄漏内存,或者add
做了一些非常可怕的事情,否则它是好的。函数将返回一个Mat
实例,调用者可以使用该实例,而不必担心调用delete
&c。
对于函数本身,一个好的编译器会省略 Mat
的值副本,从概念上讲,否则return result
会创建这个值副本。
在c++ 11中,您甚至可以显式地提供move构造函数 Mat(Mat&&)
,这有助于防止获取不必要的值副本。
相关文章:
- OpenCV 函数 cv::remap() 的执行时间更长,当程序在两者之间进入睡眠状态时
- 如何使用writeCloud() OpenCV函数来构建给定3D点坐标的点云
- OpenCV - 函数 cvarrToMat 中的未知数组类型
- 从OpenCV函数C NDK访问返回的值
- OpenCV 函数在由C++线程程序调用的 Python 脚本本身调用时锁定
- 使用某些OpenCV函数时出现分段错误
- Cmake找到了通往OpenCV库的路径,但没有找到OpenCV函数Rodrigues
- 如何使用opencv函数计算图像的孔数(二进制)
- 当我使用 opencv 函数 cvNorm(image,NULL,CV_L2)时,它会返回异常结果,为什么
- 代码在 HoughCircles 的 OpenCV 函数圈运行时崩溃
- 对某些 OpenCV 函数的未定义引用
- OpenCV函数来计算类似于MATLAB产品的数组元素的乘积?
- 这个opencv函数是如何在c++中解释的
- Opencv 函数只能以 C 代码方式调用,而不能以C++方式调用
- Opencv 函数和宽字符串
- 调试断言失败的 Opencv 函数
- 为什么使用TBB的OpenCV函数比基于Boost的实现快得多
- 在不使用opencv函数的情况下将RGB图像转换为HSI图像
- 我可以使用 opencv 函数(如 cv::multiply 和 std::vector<cv::Mat> 作为输入和输出参数吗?
- OpenCV 函数 "Split" & "Merge" 的调试断言失败