define 语句中的 # 和 ## 的作用与区别
2017-11-28 20:29
120 查看
如题,特此记录:
# 是把参数字符串化,## 是将两个参数连为一个整体。
自己写了一份测试代码,两者之间的差别清晰可见:
输出:
hello
world
wangying
# 是把参数字符串化,## 是将两个参数连为一个整体。
自己写了一份测试代码,两者之间的差别清晰可见:
#include <iostream> #include <cstdlib> // 测试不带 # 号的效果 #define NO_NUMBER_SIGN(x) x // 测试一个 # 号的效果 #define SINGLE_NUMBER_SIGN(x) #x // 测试两个 # 号的效果 #define DOUBLE_NUMBER_SIGN(x, y) x##y int main() { // 测试不带 # 号的效果:hello 不加双引号报错(error C2065: “hello”: 未声明的标识符) std::cout << NO_NUMBER_SIGN("hello") << std::endl; // 测试一个 # 号的效果:world 加不加双引号都可以,因为 # 将其字符串化 std::cout << SINGLE_NUMBER_SIGN(world) << std::endl; // 测试两个 # 号的效果:连接两个对象 std::cout << DOUBLE_NUMBER_SIGN("wang", "ying") << std::endl; system("pause"); return 0; }
输出:
hello
world
wangying
相关文章推荐
- 关键字static/const的作用 const常量与define宏定义的区别
- #define #if #ifdef #ifndef 作用和区别
- 枚举与define的区别和volatile关键字的作用
- typedef的作用以及与define的区别
- 84.#define #if #ifdef #ifndef 作用和区别
- 枚举与define的区别和volatile关键字的作用
- linux shell 的变量问题 &&export 语句作用 &&su 与 su - 的区别
- #define #if #ifdef #ifndef 作用和区别
- const和define的区别
- break 和 continue 的区别;static和extern的作用
- typedef 与 define 的区别
- 集线器、路由器、交换机、网关的作用与区别
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
- SQL语句inner join 与left join的区别
- php const和define的区别(php类中如何定义常量)
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- C++ #include <iostream> #include <iostream.h> #include <string.h>区别及作用
- 【头文件】ifndef define endif 作用
- 浅谈es6中export和export default的作用及区别