未知的 C++ 语句
Posted
技术标签:
【中文标题】未知的 C++ 语句【英文标题】:Unknown C++ statement 【发布时间】:2014-05-20 14:26:45 【问题描述】:目前,我正在使用 OpenCV 开发一个 C++ 项目,OpenCV 是一个用于图像处理的库。
查看一些示例,我遇到了以下行:
Mat gray, smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );
我以前从未在 C/C++ 中看到过类似的东西...你知道这是做什么的吗?
【问题讨论】:
这段代码很有意义。这是gray
和smallImg
的声明,前者使用默认构造函数。
【参考方案1】:
Mat
是一个类,gray
是使用无参数构造函数声明和定义的(有意义,因为灰色将是默认颜色,不是吗?),smallImg
是使用三参数构造函数声明和定义的。
【讨论】:
【参考方案2】:在一行中声明了多个变量。
不加混淆,相当于这样:
Mat gray;
Mat smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );
这应该不需要任何进一步的解释。
(在古代,当存储稀疏,终端显示 24 行代码时,如果幸运的话,使用多变量声明比现在更有意义。)
【讨论】:
以上是关于未知的 C++ 语句的主要内容,如果未能解决你的问题,请参考以下文章