c++ 获取指向迭代器引用的STL容器的指针?

例如,以下是可能的:

std::set<int> s;  
std::set<int>::iterator it = s.begin();

我想知道是否可能相反,比方说,

std::set<int>* pSet = it->**getContainer**();  // something like this...
不,没有可移植的方法来做到这一点.

迭代器甚至可能没有对容器的引用.例如,一个实现可以使用T *作为std :: array< T,N>的迭代器类型.和std :: vector< T>,因为它们都将它们的元素存储为数组.

此外,迭代器比容器更通用,并不是所有迭代器都指向容器(例如,有读取和写入流的输入和输出迭代器).

https://stackoverflow.com/questions/11445025/get-a-pointer-to-stl-container-an-iterator-is-referencing

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c++ 获取指向迭代器引用的STL容器的指针?