我刚刚在 Wikipedia 上看到了这段代码关于条件运算符的文章:
Vehicle new_vehicle = arg == 'B' ? bus :
arg == 'A' ? airplane :
arg == 'T' ? train :
arg == 'C' ? car :
arg == 'H' ? horse :
feet;
我对代码做了一点改动,但想法是一样的。你觉得这种条件运算符的用法可以接受吗?它比 if
-else
结构要简洁得多,并且使用 switch 肯定会为 bug 带来一系列全新的机会(任何人都失败了?)。此外, if
-else
s 和 switch
不能用作 R 值,因此您必须先创建变量,初始化它,然后根据需要分配。
我真的很喜欢这个,但我想知道其他人的想法。
但格式是必不可少的。
编辑:我仍然喜欢这个。但我理解那些说“switch
声明是为此而制定的”的人。好吧,也许是这样。但是如果条件是返回 bool
的函数调用呢?或者一百万个你无法打开的东西。
你是不是真的想说服我一个巨大的 if
-else
链更好?是的,不知道如何使用条件运算符的程序员不会理解这一点。他们应该学习如何使用它。这并不神秘。
最佳答案
我多次使用这种类型的结构。只要它的格式很好(即不是全部在一行上,使其不可读),我认为它没有问题。
关于c++ - 在这种情况下使用多个条件运算符是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917718/