1

可能重复:
## 对 C(C++) 预处理器意味着什么?

#define SIMPLE16_DESC_FUNC1(num1, log1) \
    bool                            \
    Simple16::try##num1##_##log1##bit(uint32_t *n, uint32_t len)    \
    {                                       \
            uint32_t        i;              \
            uint32_t        min;            \
\
            min = (len < num1)? len : num1; \
\
            for (i = 0; i < min; i++) {     \
                    if (int_utils::get_msb(n[i]) > log1 - 1)        \
                            return false;   \
            }               \
\
                return true;    \
        }

我在某人的代码中发现了这段代码,似乎“##”运算符在函数名中起着重要作用。有人告诉我它的用途是什么吗?

4

1 回答 1

4

这是令牌粘贴运算符。它连接两个标记,其中一个是宏的参数。

于 2012-05-07T02:55:36.407 回答