C++ 17 编译期 if
Contents
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
,能通过编译(因为是在编译期判断的)。
|
|