#define和const比较

    技术2022-07-14  73

    define和const比较

    定义宏常量

    例如:#define PI 3.1415926

    编译预处理指令#define将PI定义成一个要被3.1415926取代的符号,此时PI不是一个变量,而是3.1415926的别名。

    在编译开始之前,只要在程序的表达式中引用PI,预处理器就会用#define指令中的值(3.1415926)来取代它。

    宏常量的缺点:宏常量被替换成立即数之后,内存中有同一个立即数的多份拷贝。

    const常变量

    在定义变量时,加上const修饰,告诉编译器,它的值是固定的,不能被改变。编译器会帮你检查、监督。

    例如:const double PI=3.1415926

    在编译的时候,const定义常量只是给出了对应的内存地址,而不是像#define给出的立即数,所以const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝。

    Processed: 0.013, SQL: 9