摘要:
1、不要让main函数返回void,并且建议显式的调用 return 0;2、区分0的4种面孔:整型0、空指针NULL、字符串结束标志 '\0'、逻辑false。前两者都占32位,推荐在置空指针或比较指针时,使用NULL,如 int* i = NULL; if (i == NULL); 第三种是一个字符,占8字节。如 "Hello" 只有5个字符,却要分配6字符空间;第四种占用一个字节3、不要忘记对局部指针变量的初始化,可以设置为NULL,否则会报警告;但对于全局指针变量来说,编译器会自己完成对它的初始化,不会报警告。4、逗号表达式的值为最右边表达式的值,如 阅读全文
摘要:
1、避免使用全局变量,增加了模块间的耦合。static 变量,只作用于一个编译单元。如果两个.cpp文件使用同一个头文件里声明的 static 变量,其地址其实是不一样的,值也可能不一样。static修饰的全局变量的作用域只能是本身的编译单元。在其他编译单元使用它时,只是简单的把其值复制给了其他编译单元,其他编译单元会另外开个内存保存它,在其他编译单元对它的修改并不影响本身在定义时的值。即在其他编译单元A使用它时,它所在的物理地址,和其他编译单元B使用它时,它所在的物理地址不一样,A和B对它所做的修改都不能传递给对方。 多个地方引用静态全局变量所在的头文件,不会出现重定义错误,因为在每个编译单 阅读全文