c++ - 我们如何将嵌套的 if else 与 #define 预处理器一起使用

标签 c++ c c-preprocessor

#define len(a) if (a == 8)   1       \
               else if (a == 3) 0    \
               else -1

此代码只是我们如何使用嵌套 if else 的示例。 我不想使用三元运算符,因为在这种情况下我无法使用 else if 语句。

最佳答案

不要滥用预处理器。使用真实函数:

constexpr auto len(int const a) {
    if (a == 8) return 1;
    if (a == 3) return 0;
    return -1;
}

关于c++ - 我们如何将嵌套的 if else 与 #define 预处理器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62247599/

相关文章:

c++ - Qt:无法从 javascript 调用共享对象方法/属性

c - ret2libc segfault地址为0x0000000000000000

c - Polyspace 警告系统函数使用系统定义的参数标志

c - C 中预处理器语句的缩进

c - 我应该更喜欢常量而不是定义吗?

c++ - 二年级搬家

c++ - 谷歌 SketchUp C++ SDK : SkpWriter usage

c++ - 使用单词 “not”作为C++类的名称会在VS2019上导致错误

c - 为什么标准 C 库中没有像 realloc() 这样不复制数据的函数?

检查构造常量是否为#define'