标签:而不是 temp const str typename apt return chapter 获取
1.宏定义
1)关键字 #define
表示变量值:#define CHAPTER 1.23
表示函数:#define MAXVALUE(a,b) (a>b?a:b)
在编译前,预处理器会将其替换成对应的值或表达式;
2)缺点
>>当运用一个宏定义的常量但获取编译错误信息时,提示的错误信息可能是具体的值比如本例中1.23,而不是CHAPTER;
>>如果使用宏定义的变量CHAPTER 有多处,所有用到的地方都会被替换,就会出现多份1.23;
2.可以以const、enum、inline来替换#define
1)对于单纯变量,可以用 const或enum替换
>>对于一些变量例如小数: #define CHAPTER 1.23 可以替换为 const double CHAPTER =1.23
>> 如果为整数可用const/enum,例如 #define PAGE2 2 可以替换为 const int PAGE2=2 或者 enum {PAGE2=2}
2)对于形似函数的宏可以用inline
例如#define MAXVALUE(a,b) (a>b?a:b)可替换为
template<typename T>
inline T maxValue(const T&a,const T& b)
{
return a>b?a:b;
}
标签:而不是 temp const str typename apt return chapter 获取
原文地址:https://www.cnblogs.com/jiayouya-susu/p/11919684.html