我不知道我能找到的答案是做我需要的最简单的方法。简单的模板,我会知道如何修改成一个完整的解决我的问题将是代码,完成以下操作:C++泛型迭代器
的输入是两个迭代器指向一个迭代容器的开头和结尾(矢量,列表...)包含值类型为T的东西。
返回一个
std::vector<T>
,其中包含输入容器的逐个元素副本,以任意顺序复制输入容器的开始到结束。
东西非功能将会像如下:
template<typename Iterator, typename T>
std::vector<T> dumb_copy(Iterator first, Iterator last) { ... }
问题是,我需要编译器以某种方式检查我指着T类型的东西给迭代器
我目前正在学习C++,并将实践中的某些算法的最通用的实现方式写作为我能想到的,所以我想从一开始就获得最佳实践。如果有一种使用C++ 11构造的简单方法,那对我来说很好。
你为什么需要这个?你不能只从两个迭代器构造矢量吗?顺便说一句,标准库迭代器定义了'value_type',它给你'T'。 – juanchopanza
我以为我需要这个,因为我还没有到Stroustrup那么远...... – JT1