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

#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. jQuery对象合并、jQuery添加静态方法、jQuery添加DOM实例方法

    实例效果: 代码演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  2. updateFilter

    $.fn.updateFilter = function(filterType, paramVal) { // filter="DATE|GREATERTHANEQUALS|LESSTHAN ...

  3. Cocos开发小游戏如何实现微信排行榜

    当游戏开发进入尾声,要引入微信数据的时候,需要了解和微信相关的接口了. 关系数据链 开放数据域 相关接口如下: wx.getFriendCloudStorage() 获取当前用户也玩该小游戏的好友的用 ...

  4. infobright系列三:数据导入乱码

    1:目前在用的是社区版的infobright,不支持DML功能,只能用LOAD DATA方式导入数据. 如果元数据中有特殊控制字符,导入过程中经常会报错 2: 设置Reject File导入之前,设定 ...

  5. 《鸟哥的Linux私房菜》学习笔记0——计算机概论

    一:CPU架构 精简指令集CPU:SPARC系列.PowerPC系列.ARM系列.其中,ARM CPU广泛应用于手机.PDA.导航系统等设备. 复杂指令集CPU:x86架构的CPU,大量用于个人电脑, ...

  6. php与redis使用经验分享 (转载)

    一.安装 1.redis的下载及安装: 引用 mkdir /usr/local/redis cd /usr/local/redis wget http://redis.googlecode.com/f ...

  7. 解决linux的centos版本修改时间重启后无效的问题

    安装完centos后,发现时间与本地时间不匹配,在网上找了好多的办法,但是一直没有奏效,重启之后,又恢复为原来的时间.很是纳闷.最后抱着试一试的心态加上了这句指令: ln -sf /usr/share ...

  8. shell脚本npm构建静态文件

    #!/bin/bash cd /data/web source /etc/profile /usr/bin/cnpm i && npm run build cp -r ./dist/* ...

  9. Swift3 颜色转换成图片Image

    Swift3下的转换写法: /// 将颜色转换为图片 /// /// - Parameter color: <#color description#> /// - Returns: < ...

  10. at com.mysql.jdbc.SQLError.createSQLException

    WARN run, com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1de6191 -- APPARENT DEA ...