c++ - ## 运算符是什么?

标签 c++

<分区>

Possible Duplicate:
What does ## mean for the C(C++) preprocessor?

#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;    \
        }

我在某人的代码中找到了这段代码,似乎“##”运算符在函数名中起着重要作用。谁能告诉我它的用法?

最佳答案

这是token pasting operator .它连接两个标记,其中一个是宏的参数。

关于c++ - ## 运算符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10476168/

相关文章:

c++ - 如何将 std::vector<char*> 转换为 char**?

c++ - (void)r++ 输入迭代器的要求

c++ - 六边形计划中的最短路径?

c++ - 使用 Tinyxml 的段错误

c++ - 如何在共享库(dll,so)中使用依赖注入(inject)?

c++ - 在使用 QPainterPath 绘制自由路径时找到交叉线

dllimport静态数据成员的C++定义

c++ - C++ 项目可以在 Visual Studio 2010 中使用 T4 吗?

c++ - 在常数时间内初始化 C++ 数组

c++ - C++中如何用getter方法实现封装