The Branch Nobody Runs
template <typename T>
std::size_t length(const T &v) {
if constexpr (std::is_integral_v<T>) return 1;
else return v.size();
}
int main() {
std::cout << length(42) << length(std::string("abc"));
}
This compiles and prints 13. Now delete the word constexpr, leaving a plain if. What happens?
Sign in to answer questions and track your progress
Sign In