在c++ 11中,是否存在Iterator<T>
类型的对象,它只存储迭代器而不知道迭代器来自哪个std容器,只知道容器存储的数据类型?
如果这样一个对象不存在,它不存在的原因是什么?
c++中没有迭代器的基类,因为它们是为高性能而设计的(因此不欢迎虚调用)。
所有迭代器类型在编译时解析,所有"迭代器存储"类型也必须在编译时解析。
你的用例是什么?或许还有更好的解决办法。
不,没有通用的迭代器基类,类型擦除的解决方法(如果在这种情况下可能的话)只会以某种方式推迟将类型存储在其他地方的需要。
也许你应该重新考虑一下你想要达到的目标,然后问一个问题。