在c/c++的程序设计中,有的时候不免要实现某些对象转换出相应名字字符串或两对象名直接相连的情况,这时候可采用宏定义中加入#和##分别实现相应功能。下面是摘抄的一段解释。

The # and ## preprocessor operators are used with the #define preprocessor directive.

  • Using # causes the first argument after the # to be returned as a string in quotes.
  • Using ## concatenates what's before the ## with what's after it.

For example, the command

     #define to_string( s ) # s

will make the compiler turn this command

     cout << to_string( Hello World! ) << endl;

into

     cout << "Hello World!" << endl;

Here is an example of the ## command:

     #define concatenate( a, b ) a ## b
...
int xy = 10;
...

This code will make the compiler turn

     cout << concatenate( x, y ) << endl;

into

     cout << xy << endl;

which will, of course, display '10' to standard output.

预处理命令中的#和##相关推荐

  1. vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)

    预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短.   ...

  2. #if...#endif是C++中的条件编译预处理命令

    #if...#endif是C++中的条件编译预处理命令 有两种格式: 1:#ifdef  标示符 程序段1 #else 程序段2 #endif 表示:如果标示符已经被#define命令定义过,则编译程 ...

  3. C语言中编译预处理命令作用,C语言预处理命令详解

    原标题:C语言预处理命令详解 关注百问科技并将它设为星标 不错过任何一篇嵌入式干货 ------ 作者:clover_toeic 原文出处: https://www.cnblogs.com/clove ...

  4. 预处理命令不是c语言本身的组成部分,C中的预处理命令

    C中的预处理命令是由ANSIC统一规定的,但它不是C语言的本身组成部分,不能直接对它们进行编译,因为编译程序无法识别它们.必须对程序进行通常的编译(包括词法和语法分析,代码生成,优化等)之前,先对程序 ...

  5. c语言中预处理都有哪些类型,c语言中预处理命令都有哪些

    匿名用户 1级 2017-12-21 回答 我们可以在C源程序中插入传给编译程序的各中指令,这些指令被称为预处理器指令,它们扩充了程序设计的环境.现把常用的预处理命令总结如下: 1. 预处理程序 按照 ...

  6. C语言中 编译预处理命令的作用有哪些,C语言系列——预处理命令

    是什么? 首先介绍一下什么是预处理,在编译之前对源文件进行简单加工的过程,就称之为预处理.又因为预处理主要是处理#开头的命令,故将以#号开头的命令称为预处理命令. 做什么? 今天我们主要讨论C语言中的 ...

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

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

  8. c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc

    一.?选择题1.?对宏命令的处理是_ ___A.?在程序执行时进行的B.?在对程序中其他语句进行编译前进行的C.?在程序连接时进行的D.?与程序中其他语句同时进行编译2.?下面对编译预处理的叙述正确的 ...

  9. C/C++之预处理命令

    C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.预处理命令属于C语言编译器,而不是C语言的组成部分.C语言预处理程序包括下列命令:#define,#error,#include,#if,# ...

最新文章

  1. 借一个同事的经历,谈一谈程序员的成长
  2. 计算机网络系统中每台计算机的地位是什么,东北师范计算机应用基础15秋在线作业1满分答案...
  3. 趣文:如果网络浏览器是妹纸
  4. java中多线程 - 多线程中的基本方法
  5. python tuple args_Python基本数据类型之tuple
  6. SQL语句大全(转)
  7. 三七互娱上半年近九成营收来自手游 精品化优势凸显
  8. nginx学习笔记001---Nginx的启动、停止与重启
  9. 物体检测中的mAP含义
  10. 非常好用的jdk帮助文档jdk1.8中文谷歌翻译
  11. wap 横屏适配和竖屏适配的通用方案
  12. SolidWorks 部分插件不显示
  13. 【麒麟操作系统】命令行下配置网卡及DNS
  14. ArcMap导入数据到ArcSDE报000597或者000224的错误
  15. 文献翻译1:Oriented R-CNN for Object Detection
  16. vba中MsgBox的参数及用法
  17. oracle 第一范式,数据库范式之第一范式
  18. 视频播放 via DirectShow
  19. geoserver样式(SLD方式)—— 标注位置调整 AnchorPoint与Displacement区别
  20. 手机小技巧:安卓微信聊天记录怎么备份?

热门文章

  1. Python四大金刚
  2. java 递归20210408-3
  3. git版本管理工具学习
  4. java 注入 循环_spring依赖注入——循环依赖
  5. 褚时健:现在的年轻人太急了,我快90了还在摸爬滚打
  6. python二进制、字符编码及文件操作
  7. [Objective-C语言教程]动态绑定(32)
  8. 《Java技术》第八次作业
  9. MySQL数据库在众多表中对表名的查询及预处理存储过程(变量做表名)
  10. 欧盟无条件批准甲骨文收购Sun