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



在c++ 11中,是否存在Iterator<T>类型的对象,它只存储迭代器而不知道迭代器来自哪个std容器,只知道容器存储的数据类型?

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

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

所有迭代器类型在编译时解析,所有"迭代器存储"类型也必须在编译时解析。

你的用例是什么?或许还有更好的解决办法。

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

也许你应该重新考虑一下你想要达到的目标,然后问一个问题。

相关内容

最新更新