zoukankan      html  css  js  c++  java
  • 16.4.4 概念、改进和模型(上)

    概念

    STL有若干个用C++语言无法表达的特性,如迭代器种类。因此,虽然可以设计具有

    正向迭代器特征的类,但不能让编译器将算法限制为只使用这个类。

    STL文献使用术语概念来描述这一系列的要求。如果所设计的容器类需要迭代器,可

    考虑STL,它包含用于标准种类的迭代器模板

    改进

    概念可以具有类似继承的关系。例如,双向迭代器继承了正向迭代器的功能。然而,不能将C++继承

    机制用于迭代器。例如可以将正向迭代器实现为一个类,而将双向迭代器实现为一个常规指针。

    有些STL文献使用术语改进来表示这种概念上的继承,因此,双向迭代器是对正向迭代器概念的一种

    改进

    模型

    概念的具体实现被称为模型。因此指向int的常规指针是一个随机访问迭代器的模型。

    将指针用作迭代器:

    • ### 迭代器是广义指针,而指针满足所有的迭代器要求。迭代器是STL算法的接口,而指针是迭代器,
    • ### 因此STL算法可以使用指针来对基于指针的非STL容器进行操作。例如,可将STL算法用于数组

    可以将STL算法用于自己设计的数组形式,只要提供适当的迭代器(可以是指针,也可以是对象)和超尾

    指示器即可

  • 相关阅读:
    前端chrome浏览器调试总结
    this指南——绑定了谁?
    轮播图终极版
    一个后台项目的总结
    h5 websocket 断开重新连接
    ios手机键盘拉起之后页面不会回退的问题
    promise 的串行执行
    js中对小数的计算
    对问卷项目的优化
    禁止eslint对指定代码检测
  • 原文地址:https://www.cnblogs.com/suui90/p/13546418.html
Copyright © 2011-2022 走看看