4 ms·
Looks the same to me. https://godbolt.org/z/CfhD5k https://godbolt.org/z/CfhD5k Switches were invented mostly because they were an easy hint to the compiler to
by vortico 7y ago
Looks the same to me. https://godbolt.org/z/CfhD5k https://godbolt.org/z/CfhD5k Switches were invented mostly because they were an easy hint to the compiler to reduce to a tree search, but because compilers are smart today, they're obsolete unless you just prefer their syntax.
Even if the cases are consecutive, most compiler optimizers are smart enough to determine that the ASTs are equivalent.
- enriquto 7y ago> they're obsolete unless you just prefer their syntax. This is a good point. Sometimes I prefer the (ugly) syntax of switches than that of conditionals. The reason is that a chain of conditionals is non-symmetrical (there's no condition for the first "case"), while a switch is formally invariant to permutation of the cases. I have even seen shit like this: if (false) ; else if (c == 1) { first case ; } else if (c == 2) { second case; } ... just to preserve the symmetry along the cases.
- vortico 7y agoAre you talking about the `else` being non-symmetric? You don't need it at all. I do this. if (c == 1) { first case ; } if (c == 2) { second case; }