我想知道在STL中是否有一个迭代器在返回之前取消引用指向的对象.在操作聚合指针的容器时,这可能非常有用.以下是我希望能够做到的一个例子:
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
vector<int*> vec;
int i = 1;
int j = 2;
int k = 3;
vec.push_back(&i);
vec.push_back(&j);
vec.push_back(&k);
copy(deref_iterator(vec.begin()),
deref_iterator(vec.end()),
ostream_iterator<int>(cout, " ")); // prints "1 2 3"
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Jam*_*kin 11
尝试Boost的indirect_iterator
.
一个indirect_iterator
具有相同的类别,因为它是包裹的迭代器.例如,a indirect_iterator<int**>
是随机访问迭代器.
归档时间: |
|
查看次数: |
1398 次 |
最近记录: |