洮砚鉴定收藏:C++中.const 与#define都是定义全局变量的吗?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 03:45:39
像。const float pi=3.1415926
#define pi 3.1415926

#define只是预编译指令,也就是在编译器编译之前,会把代码里面除了""中的pi外的pi都变成3.1415926,也就是说,编译器是看不到pi这个符号的。

而const定义是带有类型的,定义的是变量,它有实际内存,只是这个内存是不可以更改的。

所以从C++中提倡使用const变量,而不用#define

const和#define是否定义全局变量,要看他们所处的位置,如果位于main主函数外面,则为全局变量,否则为局部变量

#define是宏定义 一般时候最好不要用