心得和技巧
在c++中,在vs编译环境下,如果你写得函数有声明,有定义,那么你通过F12按键可以直接查到原函数的定义处。如果不能则说明你的声明和定义不一致。
哪怕是很小的区别,如我写的函数。
声明是:
void Compute_R_T_Ransac(double r[][3], double t[], const CvMat *HMatrix,const CvMat *bMatrix,const int efficientNumber,
int *indexs,const int leastCorrespondenceNumber);(类的头文件的声明)
定义:
void CStereoDisplay::Compute_R_T_Ransac(double r[][3], double t[], const CvMat *HMatrix,const CvMat *bMatrix,int efficientNumber,
int *indexs, const int leastCorrespondenceNumber)
仔细查看上面,你会发现有一点点小不同,仔细看哦,我用红线画出来,定义中间少了个const,虽然这完全没有影响结果,但是你此时按下F12,只会到声明去,而不会到定义去。
在写c++程序中,一定得仔细和认真。哪怕是一个很微小的问题,都可能最后导致结果很不一样,而这中间的过程,往往让人折腾几个小时,甚至几天!
还发现了个小技巧,当你在声明这样一个函数
(void changevalue(int a,int b);)的时候,声明完之后鼠标移到函数上去,会有一个小灰点,此时点击上去,选择Create Implementation
void CStereoDisplay::changevalue( int a,int b )
{
}
这样的情况下,你就不用自己在定义的时候去把声明黏贴过来。
当然反过来也是可以的,有时候你自己先定义一个函数的,然后再把鼠标放上去,同样有灰点,点击选择Create Declaration。生成声明!
vs 2008 vs2005还是有很多小技巧的,以后得多注意。
纯粹小技巧而已,以前都没注意过,以后得慢慢去积累,去做笔记,要不然很多东西弄弄就忘掉了,那样的话超级没意思!
加油吧,为了理想和生活!