类std::iterator_traits模板定义了 5 种嵌套类型:iterator_category、value_type、difference_type和. 浏览libc++ 和 libstdc++ 头文件的来源,可以看到 , 和 的许多用途,但只有一种用于(inside ) 而没有用于.pointerreference<algorithm>value_typedifference_typeiterator_categoryreferencestd::iter_swappointer
我的应用程序使用手动构建的代理迭代器/代理引用对。我想过渡到使用 Boost iterator_facade,它可以让我将引用类型从默认配置T&为任意类型,但对于T*默认的指针类型则不然。pointer我想避免被嵌套类型的一些深藏不露的使用所困扰。
注意:迭代器是没有嵌套成员的内置类型的代理,所以我不需要兼容operator->(返回类型为pointer)。
问题pointer:标准库中的嵌套类型有哪些用例iterator_traits?