1.不要让main函数返回void
关于main函数,在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
当然,在有些编译器下,void main() 也是可以通过编译的,但 C99 和 C++98 规定编译器要自动在生成的目标文件中加入”return 0;”, 表示程序正常退出.写程序好的习惯是自己在main函数的最后加上return语句,因为并不是所有的编译器都支持这一特性. 所以如果想让自己的程序写出来移植性好,最好加上return语句。
2.“0”与“空”
在程序中,很多时候都会用0与1来作为标志位,用null来判断是否为空。
整型0 int 4字节
空指针NULL type* 4字节(32位系统)
逻辑FALSE int 4字节
逻辑false bool 1bit
常用的判断用法推荐为:
if (0 == nVal) //int nVal
if (NULL == pObj) //Obj* pObj
if (‘\0’ == c) //char c
if (!bFlag) //bool bFlag另外,在用0与1作为判别标志位时,更推荐使用枚举,或许你要判断的结果只有两种,但依然推荐使用枚举,没有为什么。
3.指针变量的初始化与销毁
如果使用了没有初始化的局部变量,会给出以下警告:
warning C4700:使用了未初始化的局部变量
全局变量在声明的同时,编译器会悄悄完成对变量的初始化。
栈上未初始化的内存每个字节初值为-52,内存补码形式0xCC,两个字节组成一个汉字,就是“烫”。
堆上未初始化的内存每个字节初值为-51,内存补码形式0xCB,两个字节组成一个汉字,就是“屯”。
使用指针后一定要在确定不再用到时立即销毁!!!!!睿智的我当初因为这个事情被嫌弃死了!!!!!!
还有创建出来的对象也是!!!delete啊delete!!!