Мне было интересно, есть ли итератор в STL, который разделяет объект, указанный перед его возвратом. Это может быть очень полезно при манипулировании контейнерами, агрегирующими указатели. Вот пример того, что я хотел бы быть в состоянии сделать:Есть ли в 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;
}
То, что я просил. Позор мне не задумываться о Boost :-)! Однако я бы ожидал, что такой итератор будет присутствовать в стандартной библиотеке ... – 2008-12-09 10:54:59