当前位置:  编程技术>c/c++/嵌入式

深入分析C++中deque的使用

    来源: 互联网  发布时间:2014-10-12

    本文导语:  首先,当考虑到内存分配和执行性能的时候,使用std::deque要比std::vector好。 Deque总览 deque和vector一样都是标准模板库中的内容,deque是双端队列,在接口上和vector非常相似,在许多操作的地方可以直接替换。假如读者已经能够...

首先,当考虑到内存分配和执行性能的时候,使用std::deque要比std::vector好。

Deque总览

deque和vector一样都是标准模板库中的内容,deque是双端队列,在接口上和vector非常相似,在许多操作的地方可以直接替换。假如读者已经能够有效地使用vector容器,下面提供deque的成员函数和操作,进行对比参考。

函数 描述 c.assign(beg,end)
c.assign(n,elem)  将[beg; end)区间中的数据赋值给c。
将n个elem的拷贝赋值给c。 c.at(idx)  传回索引idx所指的数据,如果idx越界,抛出out_of_range。 c.back()  传回最后一个数据,不检查这个数据是否存在。 c.begin()  传回迭代器重的可一个数据。 c.clear()  移除容器中所有数据。 deque c
deque c1(c2)
Deque c(n)
Deque c(n, elem)
Deque c(beg,end)
c.~deque()  创建一个空的deque。
复制一个deque。
创建一个deque,含有n个数据,数据均已缺省构造产生。
创建一个含有n个elem拷贝的deque。
创建一个以[beg;end)区间的deque。
销毁所有数据,释放内存。 c.empty()  判断容器是否为空。 c.end()  指向迭代器中的最后一个数据地址。 c.erase(pos)
c.erase(beg,end)  删除pos位置的数据,传回下一个数据的位置。
删除[beg,end)区间的数据,传回下一个数据的位置。 c.front()  传回地一个数据。 get_allocator  使用构造函数返回一个拷贝。 c.insert(pos,elem) 
c.insert(pos,n,elem)
c.insert(pos,beg,end) 在pos位置插入一个elem拷贝,传回新数据位置。
在pos位置插入>n个elem数据。无返回值。
在pos位置插入在[beg,end)区间的数据。无返回值。 c.max_size()  返回容器中最大数据的数量。 c.pop_back()  删除最后一个数据。 c.pop_front()  删除头部数据。 c.push_back(elem)  在尾部加入一个数据。 c.push_front(elem)  在头部插入一个数据。 c.rbegin()  传回一个逆向队列的第一个数据。 c.rend()  传回一个逆向队列的最后一个数据的下一个位置。 c.resize(num)  重新指定队列的长度。 c.size()  返回容器中实际数据的个数。 C1.swap(c2) 
Swap(c1,c2) 将c1和c2元素互换。
同上操作。

    
 
 

您可能感兴趣的文章:

  • 深入C++浮点数无效值定义与判定的解决办法
  • 深入C++可见性与生命期的区别详解
  • 深入C++四种强制类型转换的总结
  • 用C++实现strcpy(),返回一个char*类型的深入分析
  • c++关键字mutable深入解析
  • 深入分析C++中两个大数相乘结果不正确的问题
  • 深入理解:Java是类型安全的语言,而C++是非类型安全的语言
  • 深入理解C++中常见的关键字含义
  • 深入分析C++中执行多个exe文件方法的批处理代码介绍
  • 从汇编看c++中变量类型的深入分析
  • C++ using namespace std 用法深入解析
  • 深入解析C++中的mutable关键字
  • C++实现strcmp字符串比较的深入探讨
  • C++中virtual继承的深入理解
  • 虚函数与纯虚函数(C++与Java虚函数的区别)的深入分析
  • C++ Vector用法深入剖析
  • 深入C++中API的问题详解
  • C++中const的实现机制深入分析
  • 深入C++中inline关键字的使用
  • C++输入输出操作符重载的深入分析
  • 深入SQLServer中ISNULL与NULLIF的使用详解
  • 深入Ref,Out的理解及其使用
  • 基于c中使用ftruncate()前需要fflush(),使用后需要rewind()的深入探讨
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解
  • 深入分析Java内存区域的使用详解
  • 深入mysql存储过程中表名使用参数传入的详解
  • 深入Main函数中的参数argc,argv的使用详解
  • 深入ORACLE变量的定义与使用的详解
  • 深入解析c#中枚举类型的定义与使用
  • 深入VC回调函数的使用详解
  • 深入Android MediaPlayer的使用方法详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker支持更深入的容器日志分析
  • 关于《深入浅出MFC》
  • Linux有没有什么好的高级的书,我要深入,
  • 深入理解linux内核
  • [100分]有没有关于binutils的深入的资料?或者深入底层的资料?
  • 深入理解PHP内核 TIPI
  • 技术文章 iis7站长之家
  • 哪位有《JSP深入编程》电子版?
  • 想要深入学习LINUX该学什么?
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • 如何深入Linux的内核学习?
  • U-BOOT得掌握到什么程序,用不用深入去学
  • 想深入了解操作系统该怎么做
  • 前一阵子学习了shell脚本,如果想深入点了解linux可以看什么书呢
  • 问一个《深入理解计算机系统》中的问题
  • 深入多线程之:深入分析Interlocked
  • ##想买书深入学习linux下的编程,请指教
  • 深入JDBC sqlserver连接写法的详解
  • 深入oracle特定信息排序的分析
  • 深入分析C中不安全的sprintf与strcpy
  • 哪儿有下载《深入理解Linux内核》这本书?(中文)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3