define能不能取代const

首先说一下define和const的区别:

1.const定义的常量有数据类型,#define宏定义的常量没有

2.define不仅是定义常量,还可以定义带参数的宏,做到一定程度的泛型

3.const在堆栈分配了空间,而define只是把具体数值直接传递到目标变量罢了

4.const是在编译时候处理,define是应用于预处理

5. 在程序语句中使用的常量的地方, 最好是使用const定义,在这方面来说, const只有优势,没有劣势.如果要说const劣势的地方,那就是它不能做define在预处理的时候做的事情.其实,这并非它的劣势,而只是不是它所要担负的工作罢了.

6.宏可以重定义,const不能

7.#define的优势:简单。因为预处理就可以解决掉#define,不必让编译器来处理这个。从应用上讲,#define也是不可或缺的。因为它可以让写代码的人体会到方便性。

8.const引入数据类型后,可以帮助编译器识别数据的“属性”,这对编译器是非常重要的

https://bbs.csdn.net/topics/310170662

诸位正值青春年少,一定恣情放纵,贪恋香艳梅施之情,喜欢风流雅韵之事,洒脱木拘。然而诸位可知,草上露一碰即落,竹上霜一触即溶,此种风情难于长久。
原文地址:https://www.cnblogs.com/shilipojianshen/p/12632562.html