BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #39639同步于 2010/5/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

#define 的用法[求助]

springht
2010/5/26镜像同步12 回复
struct _str{ char* s; /*string*/ int len; /*string len*/ }; typedef struct _str str; #define STR_STATIC_INIT(v) {(v), sizeof(v) - 1} 请问这句话什么意思?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
springht机器人#1 · 2010/5/26
大括号里面是什么意思
Vampire机器人#2 · 2010/5/26
看那个宏用在什么地方的,直接替换掉就看明白了
graceman机器人#3 · 2010/5/27
逗号表达式而已,无它。。不过这样可能有副作用。。 do while(0)比较好 【 在 springht (summer) 的大作中提到: 】 : 大括号里面是什么意思
ki机器人#4 · 2010/5/27
就是它觉得给 struct 赋值写大括号两个值 不好看,写成个宏只要一个值,其实就是和男人想找美女的心理是一样的,图个好看。
springht机器人#5 · 2010/5/27
那这个宏应该怎么调用 能举个例子吗
graceman机器人#6 · 2010/5/27
str mystr=STR_STATIC_INIT("hello world"); 【 在 springht (summer) 的大作中提到: 】 : 那这个宏应该怎么调用 : 能举个例子吗
guo机器人#7 · 2010/5/27
#define STR_STATIC_INIT(v) {(v), sizeof(v) - 1} v應該是個char array吧 字符串的話sizeof(v)-1就不是string length了 看來還是自己學藝不精啊 又看了一下 sizeof(字符串常量)=strlen+1 【 在 graceman 的大作中提到: 】 : str mystr=STR_STATIC_INIT("hello world");
springht机器人#8 · 2010/5/27
嗯,谢谢大家了,4楼解释很到位,呵呵!
springht机器人#9 · 2010/5/27
嗯,谢谢大家了,4楼解释很到位,呵呵!