相关疑难解决方法(0)

STL C++中的过去迭代器是什么?

任何人都可以解释我的意思是什么past-the-end.为什么我们将end()功能称为过去?

c++ stl

16
推荐指数
3
解决办法
8111
查看次数

为什么我不能将反向迭代器转换为前向迭代器?

好吧,我知道为什么,这是因为没有转换,但为什么没有转换呢?为什么转发迭代器可以转向反转迭代器而不是反过来呢?更重要的是,如果我想这样做,我该怎么办?是否有一些适配器允许您使用前向迭代器向后迭代?

std::vector<int> buffer(10);
std::vector<int>::iterator forward = buffer.begin();
std::vector<int>::reverse_iterator backward = buffer.rbegin();
++forward;
++backward;
std::vector<int>::iterator forwardFromBackward = std::vector<int>::iterator(backward); // error! Can't convert from reverse_iterator to iterator!
std::vector<int>::reverse_iterator backwardFromForward = std::vector<int>::reverse_iterator(forward); // this is fine
Run Code Online (Sandbox Code Playgroud)

c++ iterator

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

iterator ×1

stl ×1