Max*_*rai 8 c++ queue foreach iterator
我正在尝试使用BOOST_FOREACH迭代std :: queue.但是那个类中没有迭代器导致我有一个错误:
std::queue<std::string> someList;
BOOST_FOREACH(std::string temp, someList)
{
std::cout << temp;
}
>no matching function for call to begin(...)
>no type named ‘iterator’ in ‘class std::queue<std::basic_string<char> >’
Run Code Online (Sandbox Code Playgroud)
我需要的结构如下:第一个到来,第一个消失.
Mic*_*fik 19
std::deque支持在数据结构的开头和结尾有效插入和删除.您可以使用push_back和手动执行队列操作pop_front.
默认情况下,队列在内部使用deque.它是一个只暴露队列操作的包装器(因此你不能迭代它).我不久前问了一个类似的问题,最好的答案让我很好地了解了它的实际用途std::queue.应该使用的std::queue不是因为需要队列,而是要清楚地表明只有类似队列的操作在给定的数据结构上是合法的.听起来你需要更多的自由,所以请使用带有O(1)插入的deque,list或其他结构,并在两端移除.
| 归档时间: |
|
| 查看次数: |
19673 次 |
| 最近记录: |