»
(14) C++14 queue
(18) C++14 smart pointer and reference counter*
(19) C++14 pthread*
(20) C++14 synchronized locker--mutex*
(24) C++ time and sleep*
(25) C++ High Precision Computation*
(27) C++14 std::string*
(31) Advanced Level C++ Tech*
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();
}
}