提问人:Optimus1 提问时间:6/23/2022 最后编辑:EvgOptimus1 更新时间:6/23/2022 访问量:59
迭代器 std::multimap 和 std::d eque [duplicate]
Iterators std::multimap and std::deque [duplicate]
问:
这个问题在这里已经有答案了:
为什么没有更多的迭代器随机访问? (3 个答案)
提供运算符+或运算符到双向迭代器有什么缺点吗? (1 个回答)
按索引访问的 STL deque 是 O(1) 吗? (4 个答案)
去年关闭。
请告诉我为什么 - 您可以在迭代器中添加一个“步骤”,但它不适用于?std::deque
std::multimap
#include <iostream>
#include <deque>
#include <map>
int main()
{
std::deque<int>my_deq;
std::deque<int>::iterator iterator_deq;
iterator_deq = my_deq.begin() + 1;
std::multimap<std::string, int>my_multimap;
std::multimap<std::string, int>::iterator iterator;
iterator = my_multimap.begin() + 1; //This is not possible, VS2019 gives an error.
}
答: 暂无答案
评论
std::deque
提供随机访问迭代器,并且仅提供双向迭代器。只有随机存取迭代器支持加法,因为只有这些迭代器的加法才能是 O(1) 操作。std::multimap