【发布时间】:2012-06-15 10:20:14
【问题描述】:
static_assert 与模板一起似乎是一个非常不错的功能。
但是,我很难在标准库中找到用于在编译时进行各种测试的函数。
例如,我正在寻找一个函数来检查一个类型是否是另一个类型的子类型。 boost::is_base_of 可以完成这项工作,但是,它是 std 中的一个类似功能,所以我不需要依赖 boost。
基本上,有没有很好的函数列表来源,可以在static_assert 中使用并且包含在 C++11 的标准库中?
static_assert 何时执行?我可以将它放在模板中的任何位置并针对每个模板实例进行评估吗?是否可以用于将模板参数约束为类的特定子类型?
【问题讨论】:
-
你试过
std::is_base_of吗?
标签: c++ c++11 assertions static-assert