#和##运算符 
#:构串操作符 
构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量

#define STRING(x)  #x#x#x
#define TEXT(x) "class"#x"Info"
//宏引用:
int abc = ;
STRING(abc);
TEXT(abc);
//替换结果:
abcabcabc
classabcInfo

##:合并操作符

合并操作符##将出现在其左右的字符序列合并成一个新的标识符 
注意: 
使用合并操作符##时,自身的标识符必须预先有定义,否则编译器会报“标识符未定义”的编译错误。 
字符序列合并成新的标识符不是字符串

#define CLASS_NAME(name) class##name
#define MERGE(x,y) x##y##x
//宏引用:
CLASS_NAME(Timer)
MERGE(me,To)
//替换结果:
classTimer
meTome

C++中的#和##运算符的更多相关文章

  1. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  2. js中的等值运算符(抽象相等==与严格相等===的区别)

    js中的等值运算符 js中的相等分为抽象相等和严格相等,他们有什么区别呢. 在说具体算法前,先提下JS数据类型,JS数据类型分为6类:Undefined Null String Number Bool ...

  3. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  4. Java中的移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  5. VB.NET中的除法运算符 与 C#中的除法运算符

    VB.NET中的除法运算符有两个:/(浮点除法).\(整数除法) C#中的除法运算符只有一个:/(除法) VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分. 关于VB.NE ...

  6. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  7. JavaScript中的逗号运算符

    JavaScript逗号运算符  阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的“短语”,JavaScript解释器可以计算它,从而生成一个值 ...

  8. php中常用的运算符

    运算符 运算符是告诉PHP做相关运算的标识符号. PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. 1.变量名记得加“$” 符: 2. ...

  9. 【转】perl中尖括号运算符(<>)使用说明

    perl中尖括号运算符的用途分享,这里简单介绍下,方便需要的朋友 perl中<>运算符可以有如下的用途: 1)如果尖括号中间是文件句柄,尖括号运算符允许你读取文件句柄,比如<STDI ...

  10. java中的移位运算符:<<,>>,>>>总结(转)

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

随机推荐

  1. seajs 笔记

    第一步:全局配置的配置对象configseajs.config = function(configData)如:var configData = {    base: 'path/lib/',     ...

  2. javascript实现金额大写转换函数

    function transform(tranvalue) { try { var i = 1; var dw2 = new Array("", "万", &q ...

  3. 【linux】ubuntu中上下左右键变为^[[A^[[B^[[D^[[C问题处理

    问题现象: 使用上下左右键时,结果为 ^[[A^[[B^[[D^[[C,如图: 原因在于ubuntu系统自带的 vi 不完整导致. 解决方法:安装完整的vi $ sudo apt-get instal ...

  4. 定时执行任务FluentScheduler

    private void Form1_Load(object sender, EventArgs e) { Registry registry = new Registry(); registry.S ...

  5. Spring4.2 集成ActiveMQ5.14

    1:libs 2:web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...

  6. AT&T汇编和Intel汇编语法主要区别

    AT&T使用$表示立即操作数,而Intel的立即操作数是不需要界定的.因此,使用AT&T语法引用十进制值4时,使用$4,使用Intel语法时只需使用4.   AT&T在寄存器名 ...

  7. Vue router 一个路由对应多个视图

    使用命名路由 https://jsfiddle.net/posva/6du90epg/ <script src="https://unpkg.com/vue/dist/vue.js&q ...

  8. anadroid环境搭建

    近期配置android 开发环境时,在网上搜寻诸多资料.文字一大堆,最没有解决这个问题,以下我谈一下我的配置之路: 一.开发环境需求原始资源: 1. jdk(java api):因为如今android ...

  9. Influxdb数据压缩

    环境: CentOS6.5_x64InfluxDB版本:1.1.0 数据压缩可以参考: https://docs.influxdata.com/influxdb/v1.1/concepts/stora ...

  10. Excel Vlookup 列查找函数

    列查找函数语法:vlookup(lookup_value,table_array,col_index_num,[range_lookup]) lookup_value:要查找的值,数值.引用或文本字符 ...