STL第四课
来源:互联网 发布:linux cpu使用情况 编辑:程序博客网 时间:2024/06/06 01:00
关于auto_ptr作为参数的传递问题:
你可能会认为, 将auto_ptr以pass by reference方式传递就会万事大吉了. 然而这种行为却会使"拥
有权"的概念变得难以捉摸, 因为面对一个"透过reference而获得auto_ptr"的函数,你根本无法预知
拥有权是否被转交. 所以by reference方式传递auto_ptr是非常糟糕的设计, 应该全力避免.
考虑到auto_ptr的概念, 我们倒是可以运用const reference, 向函数传递拥有权. 然而这也十分危
险, 因为当你传递一个constant reference时, 通常预期该对象不会被更改.幸好通过某些实作技巧,
我们可以令constant reference 无法交出拥有权.
const std::auto_ptr<int> p(new int);
*p = 42;
...
*p = 18;
...
*p = *q;
这里const auto_ptr比较类似常数指针(T* const p),即若p=q;则ERROR
auto_ptr实作细目:Page-78(PDF文档)
auto_ptr声明于<memoroy>
STL的基本思想就是将数据和算法分离。
STL组件:
三大关键:容器、迭代器、算法
容器用来管理某类对象的集合。
迭代器用来在一个对象群集的元素上进行遍历。
总得来说,容器分为两种:
1.序列化容器,STL提供三个定义好的:vector,deque, list;
2.关联式容器(位置取决于元素值和插入次序):set, multiset, map, multimap
算法用来处理群集内的元素,透过迭代器,我们只需撰写一次算法,就可以将它应用于任意容器上。
。
关联容器自动对其元素排序。
下面为容器种类图:
- STL第四课
- PoEdu培训第四课-C++之STL
- C++ STL 第四次实验
- 《Effective STL》学习笔记(第四部分)
- 《Effective STL》学习笔记(第四部分)
- stl源码剖析 第四章vector实现
- XYNUOJ 第四次考试(STL模块)
- 第四课
- 第四课
- 第四课
- STL入门第四篇——唯美主义的杰作
- noip 2015 普及 第四题 推销员 stl之priority_queue
- effective STL 读书笔记——第四章:迭代器
- XYNU—ACM暑假集训第四次测试 STL
- java第四课
- 第四课 数据类型
- JavaScript 基础教程 第四课
- JavaScript基础教程第四课
- vb 文件操作
- Filter过滤器经典应用
- c++ 程序设计
- 使用ethereal(wireshark)抓数据包。
- 今天终于把"黄色书"看完了
- STL第四课
- J2EE面试题集锦(附答案)
- DetailsView 的用法(与GridView 一起使用)
- 郁闷,一个语句调试很久
- SAN,NAS,DAS及其架构之间区别
- 华天科技(002185)首次公开发行股票网下配售与网上定价发行公告
- 密码框的值提交后仍保存
- 狼的世界
- 如何配置Windows Live Writer