C++11:在不知道容器的情况下存储迭代器

C++11: Storing an Iterator without knowing its container

在 C++11 中,是否存在类似于 Iterator<T> 类型对象的东西,它只存储迭代器而不知道迭代器来自哪个标准容器,只知道容器的数据类型商店?

如果这样的对象不存在,它不存在的原因是什么?

不,没有通用的迭代器基础 class 和类型擦除解决方法(如果在这种情况下甚至可能的话)只会推迟以某种方式将类型存储在其他地方的需要。

也许你应该重新考虑你想要达到的目标并提出一个问题?

C++ 中的迭代器没有基础 class,因为它们是为高性能而设计的(因此不欢迎虚拟调用)。

所有迭代器类型都在编译时解析,所有 "iterator storages" 类型也必须在编译时解析。

您的用例是什么?可能还有其他更好的解决方案。