concept_check是boost的概念检查库,在使用模板错的时候编译器给出的信息一般都看不懂,使用concept_check能使编译器给出的信息易懂一些。
concept的使用很简单,用在一个模板函数里的时候用function_requires:
template <class T>
void generic_library_function(T x)
{
function_requires< EqualityComparableConcept<T> >();
// ...
};
在一个模板类里的时候用BOOST_CLASS_REQUIRES:
template <class T>
struct generic_library_class
{
BOOST_CLASS_REQUIRES(T, EqualityComparableConcept);
// ...
};
本文介绍了Boost的概念检查库concept_check,该库可以帮助开发者在使用模板时获得更清晰的编译错误信息。通过简单的示例展示了如何在模板函数和类中应用concept_check来验证类型是否符合特定概念。
500

被折叠的 条评论
为什么被折叠?



