STL-03
ggzone
这个作者很懒,什么都没留下…
展开
-
Bind2nd源码解析
// TEMPLATE FUNCTION bind2ndtemplate<class _Fn2, class _Ty> inline binder2nd bind2nd(const _Fn2& _Func, const _Ty& _Right) { // return a binder2nd functor adapter typename _Fn2::second_argument_t原创 2014-07-14 16:30:35 · 5271 阅读 · 0 评论 -
仿函数
仿函数三大妙处:1、原创 2014-07-23 09:35:44 · 7322 阅读 · 0 评论 -
迭代器配接器详解
迭代器是一个纯粹的抽象概念:任何东西,只要其行为类似迭代器,它就是一个迭代器。因此,你可以撰写一些类别(classes),具备迭代器接口,但有着各不相同的行为。C++标准程序库提供了数个预先定义的特殊迭代器,亦即所谓迭代器配接器(iterator adapters)。它们不仅起辅助作用,还能赋予整个迭代器抽象概念更强大的能力。原创 2014-07-21 17:56:59 · 5651 阅读 · 0 评论 -
仿函数进阶——组合型仿函数和自定可以使用函数配接器的仿函数
template struct binary_function { // base class for binary functions typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; };原创 2014-07-23 15:40:24 · 5460 阅读 · 0 评论 -
STL容器能力一览表和各个容器操作函数异常保证
VectorDequeListSet原创 2014-07-19 16:33:18 · 5784 阅读 · 0 评论 -
辅助性的“比较操作符”
有四个template function,分别定义了!=,>,=四个比较操作符。它们都是利用操作符==和原创 2014-07-11 10:28:03 · 4941 阅读 · 0 评论 -
运用map并于执行期指定排序准则
#include#include#include#include#includeusing namespace std;class RuntimeStringCmp{public: enum cmp_mode{normal,nocase};private: const cmp_mode mode; static bool nocase_compare(char c1原创 2014-07-17 16:30:41 · 4849 阅读 · 0 评论 -
为什么需要auto_ptr_ref
这几天开始拜读侯捷先生和孟岩先生的译作《C++标准程序库:自修教程与参考手册》 。两位先生确实译功上乘,读得很顺。但是读到P55页关于auto_ptr_ref的讨论,却百思不得其解:为什么需要引入auto_ptr_ref这个辅助类呢?从书中描述来看,仿佛与拷贝构造函数 、右值 、类型转换 有关。于是,结合auto_ptr的源代码,google之、baidu之,找了一推资料,终于初步 搞清该问题转载 2014-07-10 20:30:40 · 4812 阅读 · 0 评论 -
Vector的小知识点
预留容量的几种方式:原创 2014-07-15 10:57:48 · 6352 阅读 · 0 评论 -
迭代器特性
C++标准程序库为每一种迭代器提供了一个原创 2014-07-22 11:02:33 · 4875 阅读 · 0 评论 -
迭代器和辅助函数
迭代器(iterator)是连接容器和算法的纽带,为数据提供了抽象,使写算法的人不必关心各种数据结构的细节。迭代器提供了数据访问的标准模型——对象序列,使对容器更广泛的访问操作成为可能。原创 2014-07-21 11:25:07 · 5443 阅读 · 0 评论 -
STL 算法
STL算法概述简介:STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象注意:编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是传递给函数模板的一种参数格式而已STL中算法分类:操作对象直接改变容器的转载 2014-07-24 09:13:32 · 4758 阅读 · 0 评论