stl入门内容摘要:

int有所定义 由 char*转换到string有所定义 新的类型转换运算符 dynamic_cast –将多态类型向下转型 (downcast)为其实际类型 多态类型 运行期进行检验 新的类型转换运算符 const_cast、 reinterpret_cast C语言中的转型(用小圆括号)可 替换dynamic_cast之外的其它三种类型。 也因此无法明确显示使用它的确切理由。 新的转型操作符给了编译器更多信息,让编译器清楚知道转型的理由。 Container( 容器) 容器的概念 –用来管理一组元素。 Container( 容器) 容器的分类 –序列式容器( Sequence containers) 每个元素都有固定位置--取决于插入时机和地点,和元素值无关。 vector、 deque、 list –关联式容器( Associated containers) 元素位置取决于特定的排序准则,和插入顺序无关 set、 multiset、 map、 multimap 序列式容器 Vectors –将元素置于一个动态数组中加以管理。 –可以随机存取元素(用索引直接存取)。 –数组尾部添加或移除元素非常快速。 但是在中部或头部安插元素比较费时。 序列式容器 Vectors 示例 用 vector前,必须包含头文件 vector 序列式容器 Deques – deque, 是 “ doubleended queue”的缩写。 –可以随机存取元素(用索引直接存取)。 –数组头部和尾部添加或移除元素都非常快速。 但是在中部或头部安插元素比较费时。 序列式容器 Deques 示例 用 deque前,必须包含头文件 deque 序列式容器 Lists –双向链表。 –不提供随机存取(按顺序走到需存取的元素, O(n))。 –在任何位置上执行插入或删除动作都非常迅速,内部只需调整一下指针。 序列式容器 Lists 示例 用 list前,必须包含头文件 list 迭代器( Iterator) 简述 指针与数组 指针与其它数据结构呢。 比如说链表。 –存储空间是非连续的。 不能通过对指向这种数据结构的指针做累加来遍历。 –能不能提供一个行为类似指针的类,来对非数组的数据结构进行遍历呢。 这样我们就能够以同样的方式来遍历所有的数据结构(所有容器)。 用指针遍历数组 迭代器( Iterator) 简述 迭代器与容器 –通过迭代器,我们可以 用相同的方式来访问、遍历 容器。 每种容器都必须提供自己的迭代器 容器提供一些函数以获得迭代器并以之遍历所有元素。 用迭代器遍历容器 泛型抽象 迭代器( Iterator) 简述 迭代器的概念 –迭代器是一个 “ 可遍历 STL容器内全部或部分元素 ” 的对象。 –一个迭代器指出容器中的一个特定位置。 –具有遍历复杂数据结构的能力。 迭代器( Iterator) 简述 迭代器的基本操作 用法和指针一样,其实指针就是一种迭代器 运算符重载 迭代器( Iterator) 简述 迭代器示例 关联式容器 Sets/Multisets –内部的元素依据其值自动排序 – Set内的相同数值的元素只能出现一次,Multisets内可包含多个数值相同的元素。 –内部由二叉树实现,便于查找。 关联式容器 Set。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。