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

トークン貼り付け演算子です。2つのトークンを連結します。1つはマクロへの引数です。

于 2012-05-07T02:55:36.407 に答える