也许这个问题曾经被问过,但是我只是不知道应该怎么问这个问题
我有以下代码。我不知道将参数作为const修饰符传递然后传递给内部构造函数的理由是什么。
bool somefunction(const cv::Vec4i& l1_c, const cv::Vec4i& l2_c)
{
cv::Vec4i l1(l1_c), l2(l2_c); // why code it in such a manner?
// what the advantages?
...... other codes but l1 and l2
is used as values ........
}
像下面这样用作cv :: Vec4i&l1c并不是更简单
bool somefunction(cv::Vec4i& l1_c, cv::Vec4i& l2_c)
{
...... other codes and l1_c and l2_c
is used as values .........
}
致谢
答案 0 :(得分:0)
这两者之间有根本的区别,即您不能更改常量版本。此外,您可以将临时变量传递给恒定版本,但不能传递给非恒定版本。