[英]What does this statement in opencv mean?
k这是我的菜鸟,因为我真的没有在C和目标c上做过那么多。
Mat mymat(myIplImage, true);
这显然不仅将mymat声明为局部变量,还将内容从myIplImage复制。 我无法解决语法问题。 如果它是这样的话我会更舒服:
Mat mymat = new Mat(myIplImage, true); // in c++
你能解释原始陈述背景中发生的事情吗?
谢谢,
实际上这是C ++。 第一个语句基本上与第二个语句完全相同,只是你自己没有处理内存,也就是你不再需要delete mymat
时,它会自动被破坏。超出范围。
正如Simon所说,第一个版本为您处理内存分配。 在第一个版本中,在幕后,可能在构造函数中有一个new
调用或malloc
或类似的东西,以及在Mat的析构函数中的delete
或free
调用。 这样,如果你只是制作一个Mat(而不是它们的数组),你不需要考虑分配。
请记住,如果您想获得所有细节,可以随时查看Mat构造函数的源代码或OpenCV的任何其他部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.