初看预处理的一些心得!c++知识点!

也许是最好的预处理程序认为是一个单独的程序之前运行编译器编译程序时。它的目的是处理指令。指令是特定指令,开始以#符号和以换行符结尾(不是一个分号)。有几种不同类型的指令,下面我们将介绍它。预处理器是不聪明的,它不理解c++语法;相反,它操纵文本编译器到达它之前。
包括
你已经看到了# include指令在行动。# Include告诉预处理程序插入包含文件的内容到当前文件的点# Include指令。这是有用的,当你有信息需要包含在多个位置(通常是提出声明)。
#包括命令有两种形式:
# include <文件名>告诉编译器查找文件在一个特殊的位置的操作系统上定义的头文件的运行时库举行。
# include“文件名”告诉编译器查找文件在目录包含源文件做# include。如果失败,它会采取相同的角度的支架情况。
宏定义

宏定义采取的形式:

#define identifier replacement

每当遇到这种预处理器指令,任何进一步发生的“标识符”是“替代”所取代。标识符是传统上键入字母全部大写,用下划线来表示空间。
例如,考虑下面的代码片段:

#define MY_NAME  "Alex"
 
cout << "Hello, " << MY_NAME << endl;

预处理器转换这个为以下:

#define MY_NAME  "Alex"
 
cout << "Hello, " << "Alex" << endl;

而,当运行,打印输出你好, Alex。
#定义了用于这种方式有两个重要的属性。首先,它们允许你给一个描述性的名称的东西,例如一个号码。
例如,考虑下面的代码片段:

int nYen = nDollars * 122;

一个数字,例如122年在程序上面叫做幻数。一个神奇的数字是一个硬编码的数字的中间代码,没有任何上下文——122年是什么意思?它是一个转化率?是其他什么东西?它不是很明确。在更复杂的程序,这通常是不可能告诉一个硬编码的数字代表什么。

代码:

#define YEN_PER_DOLLAR  122
int nYen = nDollars * YEN_PER_DOLLAR;

第二,定义数字会让程序号更容易改变。假设汇率改变了从122年到123年,我们的程序需要反映这一点。考虑以下程序:

int nYen1 = nDollars1 * 122;
int nYen2 = nDollars2 * 122;
int nYen3 = nDollars3 * 122;
int nYen4 = nDollars4 * 122;
SetWidthTo(122);





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值