static_assert
(表达式, 输出的附加信息)
对表达式进行编译时的检查
is_constructible<class T, class ... Args> 能否用Args初始化T
is_trivially_constructible<class T, class ... Args> 能否用Args平凡地初始化T(std::declval 的调用被认为是平凡的)
is_nothrow_constructible<class T, class ... Args> 能否用Args初始化T且不抛出异常