我爱Aspx >> VC.Net >> 关于VC代码的编写和调试(一)但预处理在很多调试代码中起重要作用。调试代码经常需要从非调试代码里面得到不同的行为,而最有效的办法就是让预处理为调试创建不同的代码。
(4)用new和delete代替malloc和free;
在创建对象、类型的安全性和灵活性方面。使用new/delete比malloc/free要好。另外,new可被重载,提供了更大的灵活性。
(5)用输入输出流(iostreams)代替stdio。
使用C++输入输出流(<<和>>)而不使用C标准输入输出库(printf/sprintf和scanf/sscanf),有利于安全性和扩展性。从调试的角度来看,标准输入输出函数的最大问题在于编译器不能对控制流参数进行任何类型检测,而输入输出流的任何问题都能在编译时检测出来。
2 使用头文件
要在头文件中声明所有共享的外部符号,而且保留函数原型中的参数名。把所有的共享定义放在头文件中,不要在.cpp文件里面看到extern关键字。
3 初始化变量
在使用变量之前一定要把它们初始化。在初始化之前就使用变量肯定会产生错误。通常不需对对象进行初始化,对对数据成员应在构造函数中初始化。必须明确地为在栈中和堆中分配的数组和数据结构进行初始化。对于对象,应该初始化每个需要初始化的数据成员。因为变量的使用是由优化器来检查的,所以检测未初始化的本地变量,发布版本要比调试版本要做得好。
4 使用布尔表达式
C++的布尔类型:bool,值为true和false,大小为一个字节。
Windows程序通常用BOOL类型。定义如下:
Typedef int BOOL;
#define FALSE 0
#define TRUE 1
在C++中,一个布尔表达式如果为0则为假,其他则为真。因此,对布尔表达式应该检查是否问假而不是检查是否为真。
5 使用句柄和指针
【我对这篇文章有话说?】
使用DirectShow驱动摄像头[05-21]
一个颜色选择板[05-21]
一个颜色选择板[05-21]
ZWeily的小品文(一)MFC中的文件..[05-21]
Web开发框架中的架构模式比较(四..[05-21]
Web开发框架中的架构模式比较(五..[05-21]
内存管理之五[05-21]
Web开发框架中的架构模式比较(三..[05-21]
Web开发框架中的架构模式比较(二..[05-21]
Web开发框架中的架构模式比较(一..[05-21]