c++ - 使模板接受特定的类/类族?

标签 c++ templates

我有一个模板方法,设计用于处理一组特定的类。因为我并不真正需要运行时多态性,所以我决定不使用指向父类的指针,而是让编译器为我把所有东西放在一起。

我想限制可以传递给模板的类型,或者在传递不正确的类型时让 GCC 发出合理的错误。

这可能吗?

最佳答案

是的。根据当天的具体需要,可以使用多种不同的技术。有 boost::enable_if。有 MPL 和 static_assert...(如果您不使用 C++0x 编译器,请使用 BOOST_STATIC_ASSERT)。有 Boost.Concepts。

是的。这是可能的。

关于c++ - 使模板接受特定的类/类族?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3111501/

相关文章:

c++ - 我的代码能否使用 'T' 或 'const T &' 特化,以可用者为准?

c++ - 模板化运算符 << 未被识别

c++ - 错误 "C++ requires a type specifier for all declarations"

c++ - C++模板的问题

c# - 如何从 C# 调用 native 库?

c++ - 如何在 C++ 中从 Windows 中的 env 中读取

c++ - boost::asio::io_service:在等待 future 时将控制权返回给 IO 服务的运行

c++ - Qt 图像中的可点击区域?

javascript - 如何将自定义函数放入 javascript 对象中以便在 html 模板中使用?

c++ - std::transform 将一个结构数组复制到另一个