gpt4 book ai didi

c++ - 如何使用 difference_type 将 reverse_iterator 增加/减少任意值

转载 作者:行者123 更新时间:2023-11-30 04:49:21 28 4
gpt4 key购买 nike

我正在尝试使用 reverse_iterator 从反向位置删除列表的特定项目。但是 STL_iterator.h 头文件中出现编译错误。

我正在尝试做...

这里的input[]是一个整数数组。

 list<int>:: reverse_iterator it = l.rbegin()+ input[j];
l.erase( std::next(it).base() );

错误显示在 STL_iterator.h 文件...

 reverse_iterator
operator+(difference_type __n) const
{ return reverse_iterator(current - __n); }

我需要从该列表的后端/末尾开始删除特定项目。这仅用于优化或降低时间复杂度。

最佳答案

只有随机访问迭代器支持operator+。列表迭代器不是随机访问迭代器。要推进非随机访问迭代器,您可以使用 std::advancestd::next。像这样:

std::next(l.rbegin(), input[j])

关于c++ - 如何使用 difference_type 将 reverse_iterator 增加/减少任意值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55441377/

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