09 2022 档案
友元的使用(改进)
摘要:之前写了一篇关于友元使用的博客(友元的使用 - 小凉拖 - 博客园 (cnblogs.com))但是发现并不好用,原因是:当我把Grad类作为SemiGlobalMatching的友元时,Grad类中并不能使用SemiGlobalMatching赋值好了的成员属性(比如说height_这个属性),也
阅读全文
无法解析的外部符号,函数main中引用了该符号,无法解析的外部命令
摘要:最近在做census变换项目在分步骤调试初期遇到了这个错误: 仔细一看时声明的构造函数和析构析构函数出现了问题: 对比了一下别人写的分文件代码发现析构函数和构造函数不仅要在.h文件中声明,还要在.cpp文件中定义 于是我又把.cpp文件中的成员函数给注释掉了,出现了同样的问题。 看来分文件编写时不仅
阅读全文
友元的使用
摘要:最近在做Census变换的项目中,在原先的代码基础上添加了一个计算梯度的文件,文件中新建了一个Grad类,但是又不想重新开辟内存(感觉会节省空间)想直接使用SemiGlobalMatching中的成员属性 /** \brief 影像宽 */ sint32 width_; /** \brief 影像高
阅读全文
成员属性的理解
摘要:情况1: 该成员属性的值是某成员函数中计算的结果: 在SemiGlobalMatching.h(130)的SemiGlobalMatching类中定义一个成员属性(可以私有化) 1 void* census_left_; 在SemiGlobalMatching.cpp(63)的成员函数“SemiGl
阅读全文
指针的引用(附加地址传递)
摘要:#图解 轻松看懂「指针的引用*&」 - 知乎 (zhihu.com) 注意“举个栗子”中的第一个代码:(以一个更为简单的例子为例) 情况1: 1 void swap(int* p1, int* p2) { 2 3 int temp = *p1; 4 *p1 = *p2; 5 *p2 = temp;
阅读全文
二维数组和单通道Mat相关问题
摘要:我们分别将二维数组第一行的首地址和单通道Mat第一行的首地址赋给指针: 1 int a[2][2] = 2 { 3 {1,2}, 4 {3,4} 5 }; 6 7 int* p = a[0]; 8 cout << p[2] << endl; 结果为3 1 Mat m = (Mat_<int>(2,
阅读全文