当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 深入研究 STL Deque 容器 tyle="MA
 

 

 ·测试工作总体流程    »显示摘要«
    摘要:转载自www.testage.net ......
 ·pl/sql单行函数和组函数详解    »显示摘要«
    摘要:  函数是一种有零个或多个参数并且有一个返回值的程序。在sql中oracle内建了一系列函数,这些函数都可被称为sql或pl/sql语句,函数主要分为两大类:   单行函数   组函数   本文将讨论如何利用单行函数以及使用规则。  sql中的单行函数  sql和pl/sql中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均......


深入研究 STL Deque 容器
深入研究 stl deque 容器

翻译 masterlee 【程序编程相关:01、《TIJ》为何要读这本书

an in-depth study of the stl deque container (by nitron) 【推荐阅读:正在写一个模拟操作系统中存储管理的程序

本文档深入分析了std::deque,并提供了一个指导思想:当考虑到内存分配与执行性能的时候,使用std::deque要比std::vector好. 【扩展信息:最少职责OOD设计手段

 

 

介绍

本文深入地研究了std::deque 容器.本文将讨论在一些情况下使用deque 比vector更好.读完这篇文章后读者应该能够理解在容量增长的过程中deque 与vector在内存分配与性能的不同表现.由于deque 与vector的用法很相似,读者可以参考vector 的文档中介绍如何使用stl容器.

 

deque总览

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

 

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<elem> c

deque<elem> c1(c2)

deque<elem> c(n)

deque<elem> c(n, elem)

deque<elem> c(beg,end)

c.~deque<elem>()

创建一个空的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)


...   下一页
 ·threadlocal的设计与使用    »显示摘要«
    摘要: 早在java 1.2推出之时,java平台中就引入了一个新的支持:java.lang.threadlocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然threadlocal非常有用,但是似乎现在了解它、使用它的朋友还不多。   threadlocal是什么   threadlocal是什么呢?其实threadlocal并非是一个线程......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE