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

标签 c++ c++11 iterator std c++-standard-library

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

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

最佳答案

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

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

您的用例是什么?可能还有另一个更好的解决方案。

关于C++11:在不知道其容器的情况下存储迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720449/

相关文章:

c++ - 传递 C++ Lambda 函数

c++ - 模板函数 - 模板是否覆盖普通函数

c++ - 比较不同的 vector 迭代器并从第一个 vector 中删除元素

java - Java HashSet 奇怪的迭代器行为

python - 单次迭代共享迭代器

c++ - 如何一次将多个值分配给一个结构?

c++ - 在 C++ 上迭代 ini 文件,可能使用 boost::property_tree::ptree?

c++ - 如何使用 DirectShow 正确捕获音频

c++ - 使用各种数据类型的成员创建对象的简单方法

c++ - 我如何在 C++11 中解决 SICP 2.4