c++和opencv学习心得

来源:互联网 发布:c语言经典例题100 编辑:程序博客网 时间:2024/06/05 19:44

1.表达式a^2中,a必须为int型的,而pow(a,2)中a可以是float型的;

2.sqrt(b),b在c++下为float或double long型,在c下一般为double型;

(msdn:

C++ allows overloading, so users can call overloads of sqrt that take float or long double types. In a C program, sqrt always takes and returns double.

3.数据类型一定要注意。比如计算过程中可能需要float型,但是结果显示的是int型,在后面的运算中可能还需要float型进行计算(因为int产生的误差肯定要大于float),所以要先保存下float型的再转换为int.

4.写循环语句或者判断语句的时候赋初值的位置和自增的位置,特别是中间的一些参数,注意初始化的位置还有循环的位置什么的要找准确。

5.注意开辟内存空间。如那个color_src,开始忘了creatimage;

6.实现一些小的功能的可以写成一些函数方便其他位置的调用。

7.c++下面可以用const来完成宏定义常数,要多总结const相关用法;

8.关于调试:(源自http://blog.csdn.net/bichenggui/archive/2009/09/02/4510529.aspx)

设置断点的时候:

对于VS2008:

   先设置断点,按alt + F9,或者是从菜单(Debug->Window->breakoints),选中需要设置条件的断点,按右键,选中condition,然后出现以下对话框: 

输入条件表达式,选中is true时,该条件表达式为true的时候,程序会break。

当选中has changed时,该表达式的值发生改变时,程序会break。

表达式可以是一个变量,也可以是一个常规表达式。(前提是可以被debugger识别和求值),可参照watch窗口。