C++ 宏定义

C++ 宏定义

  • 1. 宏定义的优点
  • 2. 与全局变量的区别
  • 3. 使用方式

1. 宏定义的优点

  • 1.方便程序的修改
    使用简单宏定义可用宏代替一个在程序中经常使用的常量,这样在将常量改变时,不用对整个程序进行修改,只需修改宏定义的字符串即可;当常量比较长时,也可以用较短的有意义的标识符来写程序。
  • 2.提高程序的运行效率

2. 与全局变量的区别

  1. 宏定义在>编译期间就会使用并替换,而全局变量要到运行时才可以;
  2. 宏定义的只是一串字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行是要为其分配内存;
  3. 宏定义不可以被赋值,即其值一旦定义就不可修改,而变量在运行过程中可以被修改;
  4. 宏定义只有在定义所在文件,或引用所在文件的其他文件中使用。而全局变量可以在工程所有文件中使用,只要在使用前加一个声明就可以了。换句话说,宏定义不需要 extern。

3. 使用方式

#define 标识符 字符串
写宏的时候,尽量用括号将变量给括起来,以防止边际效应---->#define 标识符 (字符串)

#define Traffic_IN_A             (1U)
#define Traffic_IN_A1           (1U)
#define Traffic_IN_A2           (2U)
#define Traffic_IN_B1           (3U)

这里的 U 表示该常数用无符号整型方式存储,相当于 unsigned int;
L 表示该常数用长整型方式存储,相当于 long;
F 表示该常数用浮点方式存储,相当于 float

你可能感兴趣的:(C/C++,c++)