»
(14)C++14 queue
(18)C++14 智能指针及引用计数*
(19)C++14 多线程pthread*
(20)C++14 同步锁mutex*
(24)C++中的计时与等待*
(25)C++中的高精度计算*
(27)C++14 std::string*
(31)C++高级技能*
C++中的queue,底层实现默认采用deque作为容器,也可以使用list作为容器。C++中queue仅提供FIFO操作、不支持随机访问、不支持迭代遍历访问,是一种有限制的deque。
queue的例子代码:
#include <iostream>
#include <queue>
#include <list>
using namespace std;
typedef struct ItemStruct{
int resourceId;
uint8_t resourceType;
string resourceName;
}Item;
int main(){
//queue<Item>queue_pipe;//默认采用deque实现的queue
queue<Item,list<Item>>queue_pipe;//采用list实现的queue
Item disk1{1,1,"disk1"};
queue_pipe.push(disk1);
Item keyboard1{2,2,"keyboard1"};
queue_pipe.push(keyboard1);
Item disk2{3,1,"disk2"};
queue_pipe.push(disk2);
cout<<"Type\t\t"<<"Name\t\t"<<"Id"<<endl;
while(!queue_pipe.empty()){
Item i=queue_pipe.front();
cout<<(int)i.resourceType<<"\t\t"<<i.resourceName<<"\t\t"<<i.resourceId<<endl;
queue_pipe.pop();
}
}