我不知道我能找到的答案是做我需要的最簡單的方法。簡單的模板,我會知道如何修改成一個完整的解決我的問題將是代碼,完成以下操作: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