zoukankan      html  css  js  c++  java
  • 泛型程序设计基本概念

    1、C++的代码重用

    C++是一门很强大的语言,他有两种机制来提高代码的重用性,其中一种通过继承实现。另外一种就是泛型。使用模板的程序设计就是泛型程序设计。在C++中模板有两种体现形式,一种是类模板,一种是函数模板

    2、泛型程序设计

    简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。标准模板库 (Standard Template Library) 就是一些常用数据结构和算法的模板的集合。有了STL,不必再写大多的标准数据结构和算法,并且可获得非常高的性能。

    3、STL中的基本的概念

    (1)容器:

    可容纳各种数据类型的通用数据结构,是类模板。

    (2)迭代器:

    可用于依次存取容器中元素,类似于指针。(用起来像指针,内部也是用指针实现的。)

    (3)算法:

    用来操作容器中的元素的函数模板。

    算法举例:

    • sort()来对一个vector中的数据进行排序。

    • find()来搜索一个list中的对象。

    注意:算法本身与他们操作的数据的类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。

    迭代器举例:

    int array[100];
    sort(array,array+70); //将前70个元素排序
    

    该数组就是容器,而 int * 类型的指针变量就可以作为迭代器(作为数组的迭代器)(array、array+70 都是迭代器), sort算法可以作用于该容器上,对其进行排序。

  • 相关阅读:
    Java SSL证书的安装
    zookeeper集群配置
    ERROR org.apache.zookeeper.ClientCnxn:532
    线程池c3p0和dbcp2的配置初始化实例
    SIP/2.0 403 Forbidden(Invalid domain in From: header)
    OkHttp实现文件上传进度
    Http 缓存机制
    Cookie、Session 和 Token区别
    RecyclerView-- 侧滑删除和拖动排序
    RecyclerView--添加头部和底部
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764233.html
Copyright © 2011-2022 走看看