C++17编译期if:constexpr。
用例:不加constexpr会编译出错,因为必有一种情况是语法错误的。如果T为X类型,则内部没有y_func()。
| |
返回类型推导:C++14后可以用auto作为函数返回值,但所有表达式必须推导出相同的返回类型(不能在不同情况下返回不同的类型,例如int和float)。但如果在判断的地方使用constexpr,能通过编译(因为是在编译期判断的)。
| |

C++17编译期if:constexpr。
用例:不加constexpr会编译出错,因为必有一种情况是语法错误的。如果T为X类型,则内部没有y_func()。
| |
返回类型推导:C++14后可以用auto作为函数返回值,但所有表达式必须推导出相同的返回类型(不能在不同情况下返回不同的类型,例如int和float)。但如果在判断的地方使用constexpr,能通过编译(因为是在编译期判断的)。
| |