在C++源程序中允许用一个标识符来代表一个字符文本,称为宏,表示符为宏名

宏是由宏定义命令事先定义的。预处理时,对程序中所有后续的宏名实例(称为宏引用),预处理器都用字符文本去替换,称为宏替换或宏展开。

宏定义通常用户一定程序中符号常量、类型别名、运算式代换、语句代换等,其命令为#define,

分为不带参数的宏定义和带参数的宏定义

宏定义只是简单置换,不做语法检查,因此,宏串中的每个字符都是有效字符;

函数定义和宏的定义:

#和##预处理运算

#运算符的作用是文本参数“字符串化”,即出现在宏定义字符文本中的#把跟在后面的参数转换成一个C++字符串常量。

##运算符的作用是将俩个字符文本连接成一个字符串文本,如果其中一个字符串文本是宏定义的参数,连接会在参数替换后发生

C++之预处理命令以及宏定义相关推荐

  1. VC预处理指令与宏定义的妙用

    VC中预处理指令与宏定义的妙用 刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具.使用它们可以进行简单的源代码控制,版本控制,预 ...

  2. C语言 | 编译与预处理指令(宏定义完整讲解:#define)

    ========================================== 博主github:https://github.com/MichaelBeechan 博主CSDN:https:/ ...

  3. C语言程序设计 细节总结(第10-11章 文件、预处理命令)

    第10章 文件 1.C语言系统把文件当成一个流,按字节进行处理 2.文件按编码方式分为二进制文件和ASCII文件(文本文件) 3.用文件指针标识文件,打开文件可取得该指针 4.对文件进行操作,打开-& ...

  4. c语言宏定义在预处理阶段,预处理和宏定义

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 宏定义 基本概念预处理部分: #include #define 放在函数之外,一般都放在源文档的前面 预处理由预处理进程 ...

  5. c语言宏编译命令大全,C语言宏定义与预编译详解

    http://blog.csdn.net/findaway123/article/details/6994203 2011 1.宏定义和函数的区别 -------------------------- ...

  6. R 多变量数据预处理_超长文详解:C语言预处理命令

    一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

  7. c语言宏定义替换字符串,C语言中,宏替换的替换规则

    匿名用户 1级 2011-10-25 回答 简单来说:宏定义又称为宏代换.宏替换,简称"宏".是C提供的三种预处理功能的其中一种. 复杂的请看下面,讲的很全.下面的带参宏定义,多行 ...

  8. C中的预编译宏定义-转

    C中的预编译宏定义 2009-02-10 作者: infobillows 来源:网络 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocesso ...

  9. matlab 类似宏定义,比较全面的宏定义解析

    宏定义 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义.文件包含.条件编译. 参数 不带参数 宏定义又称为宏代换.宏替换,简称"宏". 格式: #define ...

最新文章

  1. linux开启ftp
  2. SAP 科目主数据属性定义
  3. 软件测试工具和报告学习-3月6日
  4. 关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案...
  5. 剑指offer之找到链表里面包含环的入口节点
  6. Android之监测database的改变--notifyChange
  7. 熟悉 ASP.NET MVC 类
  8. iQOO 9系列将全球首发三星GN5传感器:对焦更快更稳
  9. ‘vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件的报错
  10. APP抓包,针对 SSLPinning反爬
  11. python wifi密码本下载_WifiPass下载 WifiPass(Python获取本机保存的所有WIFI密码) 免费版 下载-脚本之家...
  12. MP4Box切割mp4视频文件
  13. lcd改led背光有光斑_LCD改LED背光,详细干活教程!
  14. 软件测试面试该如何谈薪
  15. mysql 1032错误_修复mysql slave复制1032错误
  16. americdan-life
  17. 在行 app android,在行app安卓版
  18. vi打开服务器上的文件,虚拟机vi编辑器怎么打开
  19. python五边形的代码_如何使用pythonttkinter画布中的create_line创建五边形和六边形?...
  20. 虚拟换衣!速览这几篇最新论文咋做的!

热门文章

  1. CMDB整体项目梳理(1)
  2. Razor 中的@rendersection
  3. js方法的使用(z)
  4. (0,eval)('this')与eval的区别
  5. UIAlertView中显示进度条 ios iphone xcode
  6. 转textView return 键盘 textfield 键盘
  7. 删除visual studio最近打开的项目列表
  8. 生成下面的模块时,启用了优化或没有调试信息
  9. 创建程序集时元数据失败 -- 拒绝访问_Veeam 云原生数据管理解决方案 Kasten K10 介绍...
  10. json 解析_json爬坑1:yajl解析json