【发布时间】:2017-10-18 01:16:58
【问题描述】:
假设我有一个函数模板来循环某个容器的任何迭代器:
template<class iter_type>
void f(iter_type start, iter_type finish)
{
// loop from start to finish
}
现在问题是我知道那个容器的value_type(而f() 只对那个特定的value_type 有意义)。有没有办法限制iter_type 拥有特定的value_type?
我可能可以从std::iterator 继承,但f() 只是一小段代码,不值得专门的类。
【问题讨论】:
-
如果你知道容器类型,也许你可以专门研究它并参考它的
::iterator类型。