标签: c++ c++11 constexpr conditional-operator
来自cppreference.com:
这种条件运算符常用于C ++ 11 constexpr 在C ++ 14之前编程。 std::string str = 2+2==4 ? "ok" : throw std::logic_error("2+2 != 4");
这种条件运算符常用于C ++ 11 constexpr 在C ++ 14之前编程。
std::string str = 2+2==4 ? "ok" : throw std::logic_error("2+2 != 4");
cppreference是指什么?什么是前C ++ 14成语以及为什么在C ++ 14中这种技术不再相关?
答案 0 :(得分:3)
在c++11中,基本上,constexpr函数中不能有多个语句。在c++14你可以。
constexpr
constexpr bool str(int x){ return 2+2==x ? true : throw std::logic_error("2+2 != x"); }
vs c++14:
constexpr bool str(int x){ if (2+2==x) return true; else throw std::logic_error("2+2 != x"); }