#define中的特殊符号
(关于#define的用法,看这里 http://www.cppblog.com/kenny/archive/2011/04/26/145087.html)
#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x
x##y表示什么?表示x连接y,举例说:
int n = Conn(123,456); 结果就是n=123456;
char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";
再来看#@x,其实就是给x加上单引号,结果返回是一个const char。举例说:
char a = ToChar(1);结果就是a='1';
做个越界试验char a = ToChar(123);结果就错了;
但是如果你的参数超过四个字符,编译器就给给你报错了!error C2015: too many characters in constant :P
最后看看#x,估计你也明白了,他是给x加双引号
char* str = ToString(123132);就成了str="123132";
---------------示例------------------
class CTest
{
public:
CTest(const unsigned char ucAttrType, int pFun)
{
cout << "in CTest" << endl;
}
~CTest(){}
};
//注册计算算法
#define REG_FUN(attrtype, pFun) /
static CTest s_stCTest##attrtype(attrtype, pFun);
#define中的特殊符号的更多相关文章
- c++ --> #define中的三个特殊符号:#,##,#@
#define中的三个特殊符号:#,##,#@ 看下面三个define宏定义: #define Conn(x,y) x##y #define ToChar(x) #@x #define ToStrin ...
- define中的:#,##,#@
[define中的:#,##,#@] #define Conn(x,y) x##y #define ToChar(x) #@x #define ToString(x) #x (2)x##y表示什么?表 ...
- #define中 #与##的神奇用法linux学习 (转)
#define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ...
- GCC中的强符号和弱符号及强引用和弱引用
1. 强符号和弱符号 1.1 u-boot和kernel中的__weak指令 u-boot和kernel比较普遍地使用了__weak来定义函数. 在include\linux\compiler-gcc ...
- XML中输入特殊符号
XML中输入特殊符号 周银辉 特殊符号比如 ™, 要在xml中使用的话, 其实和html的转码是一样的, 参考下面这个表(使用十进制编码那一列) 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十 ...
- XAML中的特殊符号几空白字符处理
阅读目录 介绍 详细 处理 Demo下载 介绍 XAML标记语言是基于xml的,所以很多xml中的特殊符号在XAML也是需要处理的. 详细 (取自msdn) 字符 Entity 注释 &(“a ...
- MyBatis中的特殊符号[20160713]
今天中午回到工位已经是12:20多了,没有时间睡觉了,本想着还能提前开始,结果看了点新闻之后,又是12:40了,所以新闻坚决不能看,执行力. 今天主要记录一下MyBatis中的特殊符号的问题,这个问题 ...
- sql语句中的注释符号
sql语句中的注释符号 mysql # 到该行结束.-- 到该行结束 以及 的注释方格:mysql> SELECT 1+1; # 这个注释直到该行结束mysql> SELE ...
- C#中Config文件中,特殊符号的书写方法。
App.config: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration& ...
随机推荐
- NSURLConnection的Get\Post方法
习惯了用AFNetworking来处理网络请求,这次试试苹果源生控件的处理方式~~ #import "ViewController.h" @interface ViewContro ...
- Android开发(八)——Android组件
参考: [1] Android开发教程:理解Intent和Intent Filter.http://liuzhichao.com/p/506.html
- JAVA-数据库之加载JDBC驱动程序
相关资料:<21天学通Java Web开发> 加载JDBC驱动程序 JiaZaiDemo.jsp <%@ page language="java" content ...
- C#学习笔记(32)——委托改变窗体颜色
说明(2017-11-23 22:17:34): 1. 蒋坤的作业,点击窗体1里面的按钮,出现窗体2:点击窗体2里的按钮,窗体1改变背景色. 2. 做完窗体传值后,这个作业就很简单了. 代码: For ...
- 2. 决策树(Decision Tree)-ID3、C4.5、CART比较
1. 决策树(Decision Tree)-决策树原理 2. 决策树(Decision Tree)-ID3.C4.5.CART比较 1. 前言 上文决策树(Decision Tree)1-决策树原理介 ...
- One-hot 编码/TF-IDF 值来提取特征,LAD/梯度下降法(Gradient Descent),Sigmoid
1. 多值无序类数据的特征提取: 多值无序类问题(One-hot 编码)把“耐克”编码为[0,1,0],其中“1”代表了“耐克”的中 间位置,而且是唯一标识.同理我们可以把“中国”标识为[1,0],把 ...
- WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换
1 WriteableBitmap/BitmapImage/MemoryStream/byte[]相互转换 2012-12-18 17:27:04| 分类: Windows Phone 8|字号 订 ...
- [转]ORA-01555错误总结(一)
原文地址:http://blog.csdn.net/sh231708/article/details/52935695 这篇文章算是undo相关问题总结的补充,因为ORA-01555错误与undo有着 ...
- A-Frame不如x3dom
昨天才发现还有A-Frame这么个框架,是Mozilla(moz://a 这个logo挺有创意的)出的,但看了一下其实现方式和语法后,感觉与x3d/x3dom还是有差距的. 二者的实现方式都是基于We ...
- [uart]设置linux 串口的block方式
1. 如果设置为非block模式: open(device, O_RDWR | O_NDELAY | O_NONBLOCK); 2. 如果设置为block模式,且读固定字节数返回则termios.c_ ...