gpt4 book ai didi

c++ - C++17 中的 std::back_insert_iterator

转载 作者:太空狗 更新时间:2023-10-29 20:21:44 27 4
gpt4 key购买 nike

如图here std::back_insert_iterator 在 C++17 之前继承自 std::iterator 而在 C++17 中则不是。这种变化的原因是什么?

最佳答案

std::iterator 是一种便利。它提供了一些 typedef,使用迭代器的代码发现它们很有用。目前首选的机制是 std::iterator_traits,它更灵活。

当迭代器实际上是一个指针时,它不能从 std::iterator 继承,所以 iterator_traits 一直是获取这些 typedef 的方法。在作为类的迭代器类型中使用 typedef,但在作为指针的迭代器类型中不使用 typedef 意味着泛型代码不能使用这些成员。拥有它们的用处微乎其微,而且它们正在消失。

关于c++ - C++17 中的 std::back_insert_iterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41666406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com