C++中.const 与#define都是定义全局变量的吗?

像。const float pi=3.1415926
#define pi 3.1415926

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

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

所以从C++中提倡使用const变量,而不用#define
温馨提示:内容为网友见解,仅供参考
第1个回答  2005-12-30
const和#define是否定义全局变量,要看他们所处的位置,如果位于main主函数外面,则为全局变量,否则为局部变量
第2个回答  2005-12-30
#define是宏定义 一般时候最好不要用

C++中.const 与#define都是定义全局变量的吗?
define只是预编译指令,也就是在编译器编译之前,会把代码里面除了""中的pi外的pi都变成3.1415926,也就是说,编译器是看不到pi这个符号的。而const定义是带有类型的,定义的是变量,它有实际内存,只是这个内存是不可以更改的。所以从C++中提倡使用const变量,而不用#define ...

const与#define
因为#define SIZE 20是全局变量,mian中的const int SIZE=20是局部变量 如果想用const int SIZE=20,把这句话放到main函数外面就可以了。

如何理解c++中的关键字static,const,以及#define在定义
define与static、const不同,属于预处理器的宏。预处理器在编译前执行,进行字符串替换,不遵循语言语法。宏定义的内容直接插入。例如:预处理器替换后,编译器将认为你定义了一个名为fuck、类型为fuck的变量。const代表constant,意为常数或常量。用于修饰变量,表示其不可修改;用于指针,表示指针指向的对...

主函数前的“#define”是不是定义全局变量用的?
不是定义全局变量. 而是宏定义.简单形式的#define,例如:#define PI 3.1415926可以理解为定义了全局常量PI,它的值是 3.1415926#define 的作用是告诉编译器 编译前做字符替代工作,例如#define PI 3.1415926,就是把下面程序中的字符PI用3.1415926替代,替代完,再做编译。复杂点的替代例子:#define GifPutShort(i, fout)...

const与#define作用一样吗?
明显不一样。define是替换,而const是常量。在某些特定的地方可能是一样的。define还可以替换关键字。

C#中如何定义全局的宏(#define)
在 Project->Properties -> Build 设置中有一个 Conditional compilation symbols,将你要设置的宏的名称写在这个设置中就是全局的宏定义。1、在类的头部写上#define UInt32或者在项目的环境变量定义。2、在用到这个变量的时候,写类解决,关键在于重写隐式和显式转换。

php const和define的区别
(1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。(2).const可在类中使用,define不能。(3).const不能在条件语句中定义常量。(4).const采用一个普通的常量名称,define可以采用表达式作为名称。(5).const只能接受静态的标量,而define可以采用任何...

C# 中如何定义全局的宏变量(#define)
如果是Debug,那么直接勾选下面的那个多选框就可以了。至于其他的自定义的宏,则在红色箭头指向的输入框中定义。

static,const,volatile,define关键字的作用与区别
全局变量本来就存储在静态区,因此static并不能改变其存储位置。但是,static限制了其链接属性。被static修饰的全局变量只能被该包含该定义的文件访问(即改变了作用域)。static修饰函数使得函数只能在包含该函数定义的文件中被调用。对于静态函数,声明和定义需要放在同一个文件夹中。被static修饰的数据成员...

C语言的#define在里面vb直接定义不就好了吗?
题主你好,C语言中 #define 可不是定义变量的,而是用来声明常量的。define 的作用是为了程序的通用性,可以使用 #define 预处理,方便程序段的定义和修改。举个例子,在某个 5000 行的代码中存在某一个数值 10,现在需要将他们一一找出来并替换成 20(注意不能全部替换,因为有的10还需要保持成10...

相似回答