答:C++中可以使用const定义常量,也可以用#define定义常量,但是前者比后者有更多的优点
①const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只是进行字符替换,没有做类型安全检查,并且在字符替换中可能会产生意料不到的错误(边际效应)
②有些集成化的调试工具可以对const常量进行调试,但是不能对宏进行调试即在C++中 const可以完全替换宏常量
您还没有登录,请您登录后再发表评论
本文主要介绍了C语言中const与#define的区别,希望对你的学习有所帮助。
const #define inline的用法及区别
定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏定义在程序运行过程中所消耗的内存要比const变量的大得多; 用define定义的...
#define用法集锦 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME 就定义好了,它代表1000,如果在程序里面写 if(i){.........} 编译器在处理这个代码之前会对MAXTIME 进行处理替换为1000。 这样的定义...
软件工程篇-Const与#Const的对比
尽量用const和inline而不用#define这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句:
分析出在php中const与define之间的不同之处,文字与实例先结合,归纳详细,介绍明了,一看就懂。
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。... #define PI 3.14159 //常量宏
介绍CONST和DEFINE的区别,CONST有取代DEFINE的趋势
const限定符的使用,以及const 与 #define 的区别
例如:这里程序文件开头有如下#define语句 代码如下: #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 … … 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编辑器应该会抛...
文章简单介绍了#define,const,typedef三者联系与区别
#define RECALC_NEXT_PRESSED 1 #define RECALC_ITEM_SELECTED 2 #define RECALC_RESIZED 3 #define RECALC_FIRST_PRESSED 4 #define RECALC_LAST_PRESSED 5 #define RECALC_EDIT_RESIZED 6 #define RECALC_CLOSE_...
#define _DS18B20_C_ #define F_CPU 4000000UL #define SET_1(a,b) #define CLE_0(a,b) #include #include #include #define BOOL unsigned char #define INT8U unsigned char #define INT16U unsigned int #...
#define UCHAR_CODE const unsigned char #endif #ifndef uchar_code //**表示数据保存在程序存储器中 #define uchar_code const unsigned char #endif #ifndef UINT_CODE //**表示数据保存在程序存储器中 #define...
const定义的常量有类型,而#define定义的没有类型,编译可以对前者进行类型安全检查,而后者仅仅只是做简单替换 const定义的常量在编译时分配内存,而#define定义的常量是在预编译时进行替换,不分配内存。 作用域...
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别 pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。 原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的...
相关推荐
本文主要介绍了C语言中const与#define的区别,希望对你的学习有所帮助。
const #define inline的用法及区别
定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏定义在程序运行过程中所消耗的内存要比const变量的大得多; 用define定义的...
#define用法集锦 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME 就定义好了,它代表1000,如果在程序里面写 if(i){.........} 编译器在处理这个代码之前会对MAXTIME 进行处理替换为1000。 这样的定义...
软件工程篇-Const与#Const的对比
尽量用const和inline而不用#define这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句:
分析出在php中const与define之间的不同之处,文字与实例先结合,归纳详细,介绍明了,一看就懂。
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。... #define PI 3.14159 //常量宏
介绍CONST和DEFINE的区别,CONST有取代DEFINE的趋势
const限定符的使用,以及const 与 #define 的区别
例如:这里程序文件开头有如下#define语句 代码如下: #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 … … 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编辑器应该会抛...
文章简单介绍了#define,const,typedef三者联系与区别
#define RECALC_NEXT_PRESSED 1 #define RECALC_ITEM_SELECTED 2 #define RECALC_RESIZED 3 #define RECALC_FIRST_PRESSED 4 #define RECALC_LAST_PRESSED 5 #define RECALC_EDIT_RESIZED 6 #define RECALC_CLOSE_...
介绍CONST和DEFINE的区别,CONST有取代DEFINE的趋势
#define _DS18B20_C_ #define F_CPU 4000000UL #define SET_1(a,b) #define CLE_0(a,b) #include #include #include #define BOOL unsigned char #define INT8U unsigned char #define INT16U unsigned int #...
#define UCHAR_CODE const unsigned char #endif #ifndef uchar_code //**表示数据保存在程序存储器中 #define uchar_code const unsigned char #endif #ifndef UINT_CODE //**表示数据保存在程序存储器中 #define...
const定义的常量有类型,而#define定义的没有类型,编译可以对前者进行类型安全检查,而后者仅仅只是做简单替换 const定义的常量在编译时分配内存,而#define定义的常量是在预编译时进行替换,不分配内存。 作用域...
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别 pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。 原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的...