`
duoerbasilu
  • 浏览: 1482549 次
文章分类
社区版块
存档分类
最新评论

const与#define相比有什么不同

阅读更多

答:C++中可以使用const定义常量,也可以用#define定义常量,但是前者比后者有更多的优点

①const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只是进行字符替换,没有做类型安全检查,并且在字符替换中可能会产生意料不到的错误(边际效应)

②有些集成化的调试工具可以对const常量进行调试,但是不能对宏进行调试即在C++中 const可以完全替换宏常量

分享到:
评论

相关推荐

    C语言中const与#define的区别

    本文主要介绍了C语言中const与#define的区别,希望对你的学习有所帮助。

    const #define inline

    const #define inline的用法及区别

    C++中const与#define的利弊分析

    定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏定义在程序运行过程中所消耗的内存要比const变量的大得多; 用define定义的...

    C语言 #define用法集锦[修正版]

    #define用法集锦 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME 就定义好了,它代表1000,如果在程序里面写 if(i){.........} 编译器在处理这个代码之前会对MAXTIME 进行处理替换为1000。 这样的定义...

    精彩编程与编程技巧-软件工程篇-Const与#Const的对比...

    软件工程篇-Const与#Const的对比

    C语言编程技巧 关于const和#define的区别心得

    尽量用const和inline而不用#define这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句:

    php中const与define的区别 具体归纳详细介绍

    分析出在php中const与define之间的不同之处,文字与实例先结合,归纳详细,介绍明了,一看就懂。

    C/C++:const常量与define宏定义的区别

    (1) 编译器处理方式不同  define宏是在预处理阶段展开。  const常量是编译运行阶段使用。  (2) 类型和安全检查不同  define宏没有类型,不做任何类型检查,仅仅是展开。... #define PI 3.14159 //常量宏

    const和define用法

    介绍CONST和DEFINE的区别,CONST有取代DEFINE的趋势

    const 限定符的使用

    const限定符的使用,以及const 与 #define 的区别

    c++ 尽量不要使用#define 而是用const、enum、inline替换。

    例如:这里程序文件开头有如下#define语句 代码如下: #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 … … 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编辑器应该会抛...

    #define,const,typedef三者联系与区别

    文章简单介绍了#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的区别,CONST有取代DEFINE的趋势

    基于AVR的温度报警系统

    #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 #...

    PLC PPI 源程序

    #define UCHAR_CODE const unsigned char #endif #ifndef uchar_code //**表示数据保存在程序存储器中 #define uchar_code const unsigned char #endif #ifndef UINT_CODE //**表示数据保存在程序存储器中 #define...

    跟我一起学C++

    const定义的常量有类型,而#define定义的没有类型,编译可以对前者进行类型安全检查,而后者仅仅只是做简单替换 const定义的常量在编译时分配内存,而#define定义的常量是在预编译时进行替换,不分配内存。 作用域...

    C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别

    C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别 pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。 原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的...

Global site tag (gtag.js) - Google Analytics