C++抽象编程——STL(1)——STL前言

简介

原始的数据类型,比如int char double 还有enumerate类型,是这个结构里最为底层的东西了。为了代表更多复杂的信息,你要把这些原子数据类型组成更大的结构,这些更大的结构又能组成更加大的结构。集合起来,这些聚集物我们称为数据结构(data structure). 当你学了很多跟编程有关的东西之后,你会发现这些特殊的数据结构是多么值得你去学习的,因为它们实在是太有用了!再者,我们更关注的是学习如何使用这些数据结构,而不是去理解他们的底层表示。例如,尽管字符串可能作为一个字符数组放在机器里面,它同样有着超越它本身代表意义的抽象行为。这样的类型,即行为大于它本身代表意义,我们称为抽象数据类型(abstract data type). 我们通常称为ADT.抽象数据类型是面向对象编程的中心,它促使程序员在整体的方向上思考数据结构。 这个系列我们介绍5个类——**vector,stack,queue,map和set**. 它们当中的每一个都代表了一个重要的抽象数据类型。更多的是,它们当中的每一个都包涵了一些更简单的值的类型。像这样的类,我们也称为集合类(collection classes).现在,我们不需要去理解这些类是怎么执行的,因为你此时的目标就是学习怎么在程序中使用这些类。以后的系列我们有机会去介绍各种各样的程序运行的策略,学习相关的算法以及使得程序高效运行的数据结构。 可以从底层程序中,分离出类的行为是面向对象编程的基础规则。作为一个设计策略,它应该提供了下面的一些优势:
1. 简洁性(Simplicity)。将更多的底层代表,底层类型隐藏起来,让编程的人省去很多的细节理解
2. 灵活性(Flexibility)。因为这里的类是根据公有行为定义的,而运行程序的程序员可以自由的改变底层的私有代表。对于所有的抽象,它是允许适当的改变程序,当接口留下了同样的行为。
3. 安全性(Security)。 接口的界限(马上会更新借口内容)就像一个墙壁,将程序跟进程相互隔离,起到保护作用。如果一个进程能用不可预测的方式在底层的数据结构中篡改数据,那么程序就会很不安全。所以,让数据在类中变得私有化,就能避免这样的事情。

要使用这个系列的集合类,你就必须要包含适当的接口。就像你使用其他库一样。比如,你使用vector类,我们可以使用下面的导入方式:

 #include <vector>

我们这个系列介绍的集合类,称为Standard Template Library,简称为STL。是一个功能异常强大的C++工具。虽然用法很简单,但是它的底层程序却不是那么容易理解的。这就要我们学完后面的部分才能好好理解了。
接下来就是介绍STL了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值