【发布时间】:2019-03-05 01:26:49
【问题描述】:
我正在尝试编写一个可以接受任何迭代器作为参数的模板函数。
例如,我应该能够通过这个函数传递所有类型的数组、列表、向量。
我正在考虑编写如下函数:
enter template<typename T1, T2>
int proof(T1<T2>::iterator& it, T1<T2>::iterator& itt){
return distance(it, itt);
}
其中 T1 应该是容器类型,T2 应该是算术类型。
理想情况下,我希望使用此函数传递一个数组和向量。
任何帮助,将不胜感激。
【问题讨论】:
-
直接使用
std::distance。如果你想编写自己的算法,那就从 STL 代码中汲取灵感。 -
一旦概念实现,这将是一个很好的解决方案