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數位生活區 即時熱門文章
                            12
                        
                            32