有没有一种方法可以定义快捷方式elif来替换else if?

时间:2018-09-09 17:11:19

标签: c++ if-statement keyword

是否可以将快捷方式elif用于else if

我在想一个typedef或任何你想称呼的东西;像

typedef else if elif

为了写

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

1 个答案:

答案 0 :(得分:3)

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

#define elif else if 

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

但是要非常小心::这被称为不良做法:

  • 读者会被非标准的语言结构所迷惑
  • 语法突出显示编辑器无法再正常工作
  • 将符号elif用于变量或函数的代码将不再编译
  • 您错过了熟悉标准语言的机会,并且在自己阅读他人编写的代码中的“ else if”链时会感到不舒服
  • 您必须确保所有代码都对此进行定义或包含自己的标头。

所以我建议您不要走这种方式,即使它看起来很酷或会提醒您其他语言。如果选择C ++,请接受其语法。接受其语法。了解其成语。这是享受所有好处的最佳方法。