Are multiple conditional operators in this situation a good idea?

前端 未结 21 2912
名媛妹妹
名媛妹妹 2020-12-15 06:23

I just saw this block of code on the Wikipedia article on conditional operators:

Vehicle new_vehicle = arg == \'B\' ? bus      :
                      arg ==         


        
21条回答
  •  太阳男子
    2020-12-15 07:16

    Just for comparison, in C++0x you can have an expression without using the conditional operator or an out-of-line function:

    Vehicle new_vehicle = [&]() -> Vehicle {
        if (arg == 'B') return bus;
        if (arg == 'A') return airplane;
        if (arg == 'T') return train;
        if (arg == 'C') return car;
        if (arg == 'H') return horse;
        return feet;
    }();
    

    Not really any better, though.

提交回复
热议问题