c++ 在这种情况下,多个条件运算符是一个好主意吗?

我在Wikipedia文章中看到这个代码块是有条件的:

Vehicle new_vehicle = arg == 'B' ? bus      :
                      arg == 'A' ? airplane :
                      arg == 'T' ? train    :
                      arg == 'C' ? car      :
                      arg == 'H' ? horse    :
                      feet;

我已经修改了一些代码,但这个想法是一样的。你会发现这个使用条件运算符可以接受吗?它比if-else构造要简洁得多,使用开关肯定会为错误开辟一整套机会(任何人都可以使用)。此外,如果-leses和switch不能用作R值,那么您必须首先创建变量,将其初始化,然后根据需要进行分配。

我真的很喜欢这个,但我想知道别人的想法。

但格式化是至关重要的。

编辑:我还是这样但是我明白那些说“为这个转换”的人。好的,也许这样。但是如果条件是返回bool的函数调用呢?还有一百万其他事情你不能打开。

你是否改变恋人真的试图说服我,一个巨大的if-else链更好?是的,不知道如何使用条件运算符的程序员不明白这一点。他们应该学习如何使用它。这不是神秘的

最佳答案
我多次使用这种类型的建筑。只要它的格式很好(即不是全部在一行,使它不可读),我没有看到它的问题。

转载注明原文:c++ 在这种情况下,多个条件运算符是一个好主意吗? - 代码日志