摘要: 宏函数看起来像函数,却不会带来函数调用的额外开销,但是宏函数也有其弊端,例如: #define CALL_MAX_FUN(a, b) fun((a) > (b) ? (a) : (b)) int a = 5, b=0; CALL_MAX_FUN(++a, b); //a自增2次 CALL_MAX_F 阅读全文
posted @ 2019-10-13 22:14 落影无痕 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 1、宏定义 #define DEMO 10 这种方式定义的常量,在编译时,编译器看不到DEMO这个名称,在预处理的时候都被替换了。于是DEMO没有进入符号表内,这样,在运用此常量的地方出现编译错误时,错误信息不会提到DEMO,会导致难以定位错误信息。另外在进行调试时,也看不到DEMO名称。 2、co 阅读全文
posted @ 2019-10-13 21:51 落影无痕 阅读(4383) 评论(0) 推荐(0) 编辑
摘要: 1、编译单元 在编译器编译代码时,只会去编译.cpp文件,而所有的头文件会在预编译时全部拷贝到.cpp中去,之后编译.cpp文件,所以每个.cpp文件是一个编译单元。 2、声明 声明是将一个名称引入到一个作用域中来,并且,除了类中的成员函数和成员变量的外,在同一个作用域是可以重复声明的。 3、定义 阅读全文
posted @ 2019-10-13 21:22 落影无痕 阅读(590) 评论(0) 推荐(0) 编辑