2.定义上不同 define时宏定义,它最大的特点就是语义替换,它定义的常量值 没有类型限定,也不做类型检查,在宏出现的地方直接展开 const是关键字,其实就是一个only_read变量,不能更改,它会在编译时检查数据类型 3.起的作用不同 define只是替换,不会做表达式运算 #defineN 1+2//我们预想的N值是3,我们这样使用...
(1) 编译器处理方式不同 #define 宏是在预处理阶段展开。 const 常量是编译运行阶段使用。 (2) 类型和安全检查不同 #define 宏没有类型,不做任何类型检查,仅仅是展开。 const 常量有具体的类型,在编译阶段会执行类型检查。 (3) 存储方式不同 #define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
#define常量存在于程序的代码段。const常量是编译运行阶段使用,const常量存在于程序的数据段. (2)类型和安全检查不同。define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。 (3) 存储方式不同。define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。 const...
一、概念性区别 const 变量就是在普通变量前边加上一个关键字const,它赋值的唯一机会就是“定义时”,此变量不能被程序修改,存储在rodata区。 define定义的是常量,不是变量,所以编译器就不会给define定义的宏名字分配存储单元。通常来说,编译器对常量的处理方式是嵌入到代码中,以立即数的方式出现。 二、测试 1、...
它们之间的最大区别: 1. 对于const变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数。因为const变量是存放在内存的静态区域中,所以在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏在程序运行过程中所消耗的内存要比const变量的大得多。#define所定义的宏变...
1、const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。 2、const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量 3、const可在类中使用,define不能。 4、const不能在条件语句中定义常量。
define() const 接下来说下它们的区别。 使用性质不同,const是语言结构,define()是方法。 使用范围不同,const用于类的成员变量定义,define()用于定义全局的常量。 使用位置不同,const必须定义在类中,define不能定义在类中。 大小写敏感,const大小写敏感,define默认大小写敏感,define可以使用第三个参数设置为true,设...
#define和const在C++中都有各自的优势和应用场景,了解它们之间的区别,有助于我们更加灵活、安全地编写高质量的C++代码。 #define 和 const是C++中两个常见但容易混淆的概念,让我们一起深入挖掘这两者在编程世界的微妙差异。 一、 #define - 宏定义 首先,让我们从#define说起。在C++中,#define是用来创建宏定义的...
C++ Qt面试题93:参数传值、指针、引用有什么区别?及适用场景 02:06 C++ Qt面试题94:const与#define有什么区别? 01:50 C++ Qt面试题95:struct和class有什么区别? 01:56 C++ Qt面试题96:C++内存分配有几种方式? 02:06 C++ Qt面试题97:Qt设计界面有哪些方式? 01:40 C++ Qt面试题98:Qt Socket通信...