Re: [問題] 兩個井字號##有什麼用?
※ 引述《miewQ (ICQ)》之銘言:
: #define IPT_MATCH_ITERATE(e, fn, args...) \
: ({ \
: unsigned int __i; \
: int __ret = 0; \
: struct ipt_entry_match *__match; \
: \
: for (__i = sizeof(struct ipt_entry); \
: __i < (e)->target_offset; \
: __i += __match->u.match_size) { \
: __match = (void *)(e) + __i; \
: \
: __ret = fn(__match , ## args); \
: if (__ret != 0) \
: break; \
: } \
: __ret; \
: })
: 第十二行__ret = fn(__match , ## args); ,那兩個井字號 ## 有什麼效果?
: 感謝板上強者撥空解答。
## : Token-Pasting Operator (or merging operator)
ex:
#include <cstdio>
#define paster( n ) printf( "%d", hello##n )
int helloworld = 100;
int main(int argc, char *argv[])
{
paster(world); //印出100
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.103.102
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章