关闭

define #

122人阅读 评论(0) 收藏 举报
分类:

原文网址 http://wenda.so.com/q/1378194865067038?src=110

如果原文出处不正确 请作者联系我 修改 如果原文不允许引用或转载  请作者联系我撤下该文章


表示L与x连接。

以下来自网络:

#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);结果是a='3';但是如果你的参数超过四个字符,编译器就给给你报错了!error C2015: too many characters in constant :

P最后看看#x,估计你也明白了,他是给x加双引号char* str = ToString(123132);就成了str="123132";

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18475次
    • 积分:348
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:19篇
    • 译文:1篇
    • 评论:1条
    最新评论