【发布时间】:2016-03-30 00:32:58
【问题描述】:
我必须创建一个适用于向量、链表和双链表的通用函数。 我想使用迭代器进行解析以查找 val 是否在向量、链表或双链表中。 我只是不知道如何声明一个泛型迭代器。以下是我对声明的尝试。
template <class Container, class T>
void findValue(Container &x, const T &val){
std::x<T>::iterator it;
}
【问题讨论】:
-
一种方法是将
std::list<Whatever>作为容器传递,并使用Container::iterator。 -
不使用
std::find有什么原因吗? -
@PeteBecker 这个函数的最终目标是查看 val 是否已经存在,如果存在,该函数将在它已经存在的地方插入 val 。因此,如果 val 为 3,则 { 2,4,3,5} 将是 {2,4,3,3,5}。而且我认为 find 不会返回该位置。
-
std::find 返回迭代器
-
@Lin0523 您在评论中的问题描述与原始问题中的问题无关。