首页 > 解决方案 > 有没有办法定义一个快捷方式 elif 来替换 else if?

问题描述

有没有办法使用快捷elif方式else if

我在想一个 typedef 或者你会怎么称呼它;就像是

typedef else if elif

为了写

if (some_condition)
     dothis();
elif (some_other_condition)
     dothat();

标签: c++if-statementkeyword

解决方案


#define在 C 和 C++ 中,借助预处理器指令 可以很容易地定义符号的含义:

#define elif else if 

这样的定义将确保预处理器在编译器开始其工作之前进行简单的字符串替换。

但要非常小心: 这被称为不好的做法:

  • 读者会被非标准的语言结构弄糊涂
  • 语法高亮编辑器无法再正常工作
  • 将符号elif用于变量或函数的代码将不再编译
  • 您错过了熟悉标准语言的机会,并且当您阅读他人编写的代码中的“else if”链时,您会一直感到不舒服
  • 你必须确保你的所有代码要么定义这个,要么包含你自己的标题。

所以我建议你不要走这条路,即使它看起来很酷或者它会让你想起其他语言。如果您选择 C++,请接受其语法。拥抱它的语法。学习它的成语。这是享受其所有好处的最佳方式。


推荐阅读