随笔分类 - STL
摘要:声明一个函数 fun 带有一个 double 而且返回一个 int: 声明一个函数 gun 带有一个参数,参数指向一个没有参数、返回 double 的函数指针: Tip: C++ 里面的一条通用规则—— 几乎任何东西都可能被分析成函数声明 用括号包含一个实参声明是不合法的,但用括号包围一个函数调用的
阅读全文
摘要:给定两个vector,v1和v2,使v1的内容和v2的后半部分一样的最简单的方式是什么? v1.assign( v2.begin() + v2.size()/2, v2.end() ); 两点说明: 1. assign成员函数对于所有标准序列容器(vector、string、deque和list)都
阅读全文
摘要:对于方法 empty() 和 size() 应该首选 empty() 的构造, 理由很简单: 对于所有的标准容器,empty是一个常数时间操作,但对于一些 list 实现,size花费线性时间。 list::splice 实现 list 拼接的功能,将源 list 的内容部分或全部元素删除,拼插入到
阅读全文
摘要:对于容器容纳对象、从容器中获取对象,STL的方式—— 拷进去、拷出来。 对象通过使用它的拷贝成员函数来拷贝: 特别是它的复制构造函数和它的赋值操作符(=) Widget( const Widget & ); Widget & operator = ( const Widget & ); 分割问题暗示
阅读全文
摘要:STL 是建立在泛化上的,数组泛化为容器,参数化了所包含的对象的类型。函数泛化为算法,参数化了所用的迭代器类型。指针泛化为迭代器,参数化了所指向对象的类型。 泛化继续,独立的容器类型泛化为序列或关联容器。标准的内存相邻的容器都提供随机访问迭代器,标准的基于节点的容器都提供双向迭代器。序列容器支持pu
阅读全文
摘要:本章关注的是可以适合所有STL容器的指导方针: 选择适当容器时应该面对的约束; 避免产生为一个容器类型写的代码也可以用于其他容器类型的错觉; 容器里对象拷贝操作的重要性; 当指针或auto_ptr存放在容器中时出现的难点; 删除输入和输出; 可不可以使用自定义分配器; 达到最高效率的技巧和考虑在多线
阅读全文

浙公网安备 33010602011771号