跳转到内容

C++ 语言/模板/概念

来自维基教科书,开放的书籍,为开放的世界

传统上,一个像 template<typename T> T Add(T x, T y) { return x + y; } 这样的模板函数将允许使用任何类型进行替换(即使是像 T=std::string 这样的类型,实际上不应该“加在一起”)。

您可以定义一个“概念”,它是一个逻辑标准,只有某些类型才能满足:template<typename T> concept IS_ADDABLE = std::is_arithmetic<T>::value;。然后我们可以限制允许的替换:template<typename T> requires IS_ADDABLE<T> T Add(T x, T y) {...}

有关“概念”的更多信息

华夏公益教科书