const与#define作用一样吗?

如题所述

明显不一样。
#define是替换,而const是常量。
在某些特定的地方可能是一样的。
#define还可以替换关键字。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-07-25
const是说下面的变量将作为一个定值来看待,是常数
#define做为赋值语句一般用于为全局变量赋值,但却不一定是常数(虽然一般是作为常数的)
第2个回答  2007-07-25
不一样,前者是定义一个常量,后者只是直接把代码用别的东西代替。
比如#define A 1+1
A*A=1+1*1+1=3
const B=1+1
B*B=2*2=4

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

const与#define的区别
const是定值常数 define可以定义恒等表达式,是用后一个表达式直接替换前表达式

const和#define声明常量时一样吗?
用define无法做数据类型判断,因此C++建议用const来代替define define的另一个缺点是编译器和程序员看到的代码不同,这不利于debug。

#define和const定义的问题
define 定义的是宏,不是变量。有什么区别呢?如这个程序中,使用 define 时,3.1415 会直接替换掉程序中的 PI,注意是原封不动的替换,相当于是写的 return 3.1415*i*i 。而 const 是定义常量,其实就是值不能被改变的变量,和宏是不一样的。因此,const 只是对变量的修饰,你直接用 const P...

const和#define相比,有什么优点
const也可以全局 const的相对define 很大一个优点在于 const的错误能在编译的时候被编译器发现 而对于define则只是做替换 没有语法的检查

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

C\/C++ 常量、#define、const和constexpr
- #define:预处理器宏,无类型,预编译阶段进行字符替换,可能导致内存浪费和类型安全问题。- const:运行时常量,内存中只有一个拷贝,避免内存分配,可用于指针、函数和参数,提供数据保护。- const修饰指针:分为修饰指针所指向的内容(左值)和修饰指针本身(右值),前者确保指针指向的内容不变,后者...

#define跟const的区别
如果就单单定义常量说的话:1. const 定义的常数是变量 也带类型 2. #define 定义的只是个常数 不带类型。如果要更多的比较,就很多了

const与#define 相比,有何优点
怎么会有人说没有区别的。。没区别还要这个东西干蛋。。在取指针方面,const有略复杂的东西,但是常规的、合理的操作不应该涉及到,因为const int是用来保存一些全局常量的,这些常量在编译期可以改,在运行期不能改,听起来这像宏,其实这确实就是用来取代宏的:define PI 3.14 const float Pi = 3...

const和define的区别
1.define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。const定义的常量,在程序运行时在常量表中,系统为它分配内存。2.define定义的常量,预处理时只是直接进行了替换。所以编译时不能进行数据类型检验。const定义的...

相似回答