首页 > 代码库 > 【Cpp】考点·宏
【Cpp】考点·宏
一、#define的基本用法
1.#define命令剖析
1.1 #define的概念
#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。
(1)简单的宏定义
#define <宏名> <字符串> #define PI 3.1415926
(2)带参数的宏定义
#define <宏名> (<参数表>) <宏体> #define A(x) x
一个标识符被宏定义后,该标识符便是一个宏名。这时,在程序中出现的是宏名,在该程序被编译前,先将宏名用被定义的字符串替换,这称为宏替换。替换后才进行编译,宏替换是简单的替换。
1 #include <iostream> 2 3 using namespace std; 4 5 #define product(x) x*x 6 int main() 7 { 8 int i = 3; 9 int j, k; 10 j = product(i++); 11 cout << "j= " << j << endl; 12 cout << "i= " << i << endl; 13 k = product (++i); 14 cout << "k= " << k << endl; 15 cout << "i= " << i << endl; 16 return 0; 17 }
可以看出,i第一次被输出为5是因为宏替换后i++执行了两次。
二、常用的一些宏定义
1.防止一个头文件被重复包含
#ifndef BODYDEF_H #define BODYDEF_H //头文件内容 #endif
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。