4 ms·
C++26: Structured Bindings in Conditions
- Panzerschrek 6mo ago> if (const auto& [is_successful, error_message] = foo(n)) I don't like it. It's hard to reason what exactly serves as condition variable.
- addaon 6mo agoThe return value of foo(n), converted to bool, acts as the condition variable…
- daemin 6mo agoShould probably make it explicit in this case, something like: if (const auto& [is_successful, error_message] = foo(n); is_successful) In a more normal scenario you'd expect to use std::expected here rather than a custom struct with an operator bool.
- porise 6mo agoYeah I wouldn't like this in a code review. Add one more line of code so I don't have to investigate foo(). That's my fundamental gripe with C++ int i = 0; function_0(i,...); ... function_9(i,...); which one changes i? It's not obvious in a code review due to default mutable references.