gpt4 book ai didi

c++ - 迭代器后继

转载 作者:可可西里 更新时间:2023-11-01 18:19:18 30 4
gpt4 key购买 nike

我想用另一个迭代器(同类)的后继初始化一个迭代器(任意类型)。以下代码适用于随机访问迭代器,但不适用于前向或双向迭代器:

Iterator i = j + 1;

一个简单的解决方法是:

Iterator i = j;
++i;

但这不能用作 for 循环的 init-stament。我可以使用如下函数模板:

template <typename Iterator>
Iterator succ(Iterator it)
{
return ++it;
}

然后像这样使用它:

Iterator i = succ(j);

STL 或 Boost 中是否有类似的东西,或者是否有我不知道的更好的解决方案?

最佳答案

我认为您正在寻找 next in Boost.Utility .它还具有 prior 用于获取前一个元素的迭代器。

更新:

引入了 C++11 std::nextstd::prev .

关于c++ - 迭代器后继,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716337/

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