1.queue常用成员函数

   ①size()       返回队列中元素的个数②empty()   如果队列空则返回真 ③back()     返回最后一个元素引用即队尾。④front()     返回第一个元素引用即队首。⑤pop()      删除第一个元素,即队首元素。不返回 ⑥push()     在末尾加入一个元素,即放置在队尾 。不返回

2.结构体和指针类queue

注意:指针使用应该初始化,指针压栈效率更高。

#include"iostream"
#include"queue"using namespace std;typedef struct Data{int data;} mydata;void initialization(mydata src[10]){for(int i=0;i<10;i++)src[i].data=i; }
int _tmain(int argc, _TCHAR* argv[])
{queue<mydata*> *myQueue=new queue<mydata*>;   //指针一定初始化mydata src[10];initialization(src);for(int i=0;i<10;i++)myQueue->push(&src[i]);//指针压栈效率更高cout<<"最前和最后的元素是  "<<myQueue->front()->data<<"  "<<myQueue->back()->data<<endl;myQueue->pop();cout<<"最前和最后的元素是  "<<myQueue->front()->data<<"  "<<myQueue->back()->data<<endl;return 0;
}

3.queue的深拷贝

    ①使用front()返回队首元素至某个变量,给变量的数据区数据改变不影响源队列元素的值
    ②“=”可以直接深拷贝队列。从queue变量作函数参数可知。
#include"iostream"
#include"queue"
void print(queue<char> myQueue){while(!myQueue.empty()){cout<<myQueue.front()<<endl;myQueue.pop();}}
int _tmain(int argc, _TCHAR* argv[])
{queue<char>   myQueue1;myQueue1.push('a');myQueue1.push('b');print(myQueue1);//形参深拷贝print(myQueue1); //仍旧能够输出char temp=myQueue1.front();cout<<temp<<endl;//输出atemp='c';cout<<myQueue1.front()<<endl;//输出amyQueue1.pop();temp=myQueue1.front();cout<<temp<<endl;//输出breturn 0;
}

4.其他

(1)queue不提供元素的随机访问、遍历和删除操作。

(2)可以使用swap函数交换两个同类型对象的内部值

转载于:https://www.cnblogs.com/engineerLF/p/5393086.html

C++之queue模板类相关推荐

  1. 【C++ 语言】面向对象 ( 模板编程 | 函数模板 | 类模板 )

    文章目录 函数模板 类模板 代码示例 函数模板 1. 模板编程 : 类似于 Java 中的泛型编程 ; ① 函数模板 : 对应着 Java 中的泛型方法 ; ② 类模板 : 对应 Java 中的泛型类 ...

  2. C++模板类嵌套类内部类局部类的区别

    模板类就是将类定义成模板的形式. C++中好像不区分内部类与嵌套类两个名词. 内部类与嵌套类都是指在类中定义类. 局部类是指在函数中定义类. (c++不能在函数中定义函数(python可以).c++在 ...

  3. 用模板类实现shared_ptr和unique_ptr

    今天面试的时候被问到了一个问题,要我用模板类实现一个shared_ptr. 坦白来说这道题我并不会做,因为我对于shared_ptr的认知仅仅停留在引用计数上面.所以查阅了资料写了一份代码出来,希望对 ...

  4. C++模板类的运算符重载

    问题背景: 最近在写数据结构的上机作业时,遇到了模板类的运算符重载,修改了很多次都是在编译时报错.对比网上的许多文章,终于改对了,于是写一篇文章记录一下. 问题描述 数据结构上机作业,要求将数据结构中 ...

  5. C++ 模板类与智能指针

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.实验内容 二.实验过程 1.模板函数 1.1 一般模板函数 1.1 特化模板函数 2.类模板(Queue) 2.1 类 ...

  6. C++之模板类_容器_迭代器_算法_GCC_make

    站在编译器和C的角度剖析c++原理, 用代码说话 类模板基础 首先什么是模板: 模板就是把要处理的函数或类的类型参数化,表现为参数的多态性. 模板用来表现逻辑结构相同,但具体数据元素类型不同的对象的通 ...

  7. Eigen(1):Matrix模板类

    Matrix是一个模板类,利用模板类可以定义矩阵类. 矩阵类模板: 1Matrix类有6个模板参数,只需要了解前3个就好了. Matrix<typename Scalar, int RowsAt ...

  8. TermCriteria模板类

    学习写vo过程中遇到的 类功能:模板类,作为迭代算法的终止条件. 构造函数: TermCriteria(int type,int maxCount,double epsilon); 参数说明: typ ...

  9. Google Test(GTest)使用方法和源码解析——模板类测试技术分析和应用

    写C++难免会遇到模板问题,如果要针对一个模板类进行测试,似乎之前博文中介绍的方式只能傻乎乎的一个一个特化类型后再进行测试.其实GTest提供了两种测试模板类的方法,本文我们将介绍方法的使用,并分析其 ...

最新文章

  1. objdump查看目标文件构成
  2. 捞人宝估值数亿,已捞出数位大佬,商业模式已验证!
  3. 第二部分:浅析 Linux 初始化 init 系统:upstart
  4. linux系统上传代码到gitlab服务器
  5. 简单页面跳转生命周期(简单清晰)
  6. 用键盘怎么直接打出小于等于和大于等于
  7. python 列表、元组、集合、字典、循环遍历数据结构
  8. 力控批量添加变量_力控组态软件的变量操作函数1
  9. C语言计算最大公约数和最小公倍数,C语言计算最大公约数和最小公倍数
  10. 以时间作为条件查询记录(案例)
  11. python求列表的方差值
  12. iOS面试合集,面试看这一篇就够了。
  13. 一文读懂微生物扩增子16s测序
  14. Educational Codeforces Round 91 D. Berserk And Fireball
  15. 单U盘 clonezilla 克隆ubuntu16.04系统
  16. CODO是一款为用户提供企业多混合云、自动化运维、完全开源的云管理平台
  17. BUUCTF misc 专题(82)[WUSTCTF2020]alison_likes_jojo
  18. FCFS和SJF算法
  19. HelloGitHub 开源月刊(第 55 期):终端“百战天虫”,来战?
  20. 火影推荐程序连载56-linux硬盘分区及挂载

热门文章

  1. 周鸿祎:quot;安全大脑quot;将成智能经济时代的网络安全中枢
  2. 中科院自动化所介绍深度强化学习进展:从AlphaGo到AlphaGo Zero
  3. 打王者、调小酒、搭乐高,大厂女程序员的别样人生
  4. 13000行代码、19大技术,这位16岁高中生用C++从头到尾构建了一个机器学习库!...
  5. 哪些业务流程和RPA更匹配?
  6. vue-router 按需加载的 3 种方式
  7. HPE谢少毅:更敏捷的企业服务,做有生命力的落地实践
  8. core data 学习笔记
  9. repmgr 4.3 发布,PostgreSQL 复制与故障转移管理工具
  10. [每天五分钟,备战架构师-10]数据库系统