【发布时间】:2015-12-05 17:00:30
【问题描述】:
假设我有一个像template<typename T> class my_data_structure 这样的模板。我希望模板能够处理原始类型,例如int 和对象,以及指针变量(例如 Vertex*)。
操作可以是:
- 整数或对象的直接比较,例如使用
>, -
object->compare(another_object)用于指针变量。
这可以在不必编写两种不同的数据结构的情况下完成吗?很抱歉我不能发布更多代码,但这是学校项目的一部分,我宁愿不被指控抄袭。
【问题讨论】:
-
您可以添加一个额外的模板参数,告诉它如何比较它?使用自定义比较器查看
std::map。 -
@NeilKirk,我正在考虑做类似的事情,传递一个静态函数,但我也会看看这个。
-
@Gernot1976 我没有意识到你可以做到这一点!决赛结束后,我一定会试试这个。
标签: c++ templates pointers generic-collections