摘要:转载自www.testage.net
......
摘要: 函数是一种有零个或多个参数并且有一个返回值的程序。在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) ...
下一页 摘要: 早在java 1.2推出之时,java平台中就引入了一个新的支持:java.lang.threadlocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然threadlocal非常有用,但是似乎现在了解它、使用它的朋友还不多。
threadlocal是什么
threadlocal是什么呢?其实threadlocal并非是一个线程......