zoukankan      html  css  js  c++  java
  • C++学习笔记32:泛型编程拓展1

    标准模板库的内容

    • 标准模板类:复数、序偶
    • 迭代器
    • 标准容器:向量,表,栈,队列,集合,映射等
    • 标准算法:查找,排序等

    标准模板库型式的使用方法

    • “<>”:模板名称<数据对象基型式>数据对象名称;
    • 例子1:complex<double>a(1.0,2.0);
    • 例子2:pair<string,string>name("zhang","san");(序偶)
    • 例子3:vector<int>v(8);

    复数

    一般说明

    • 头文件:“complex”
    • 模板名:complex<>
    • 基型式:float,double,long double
    • 首选double,float精度低,long double 已弃用

    实部与虚部

      成员函数real()和imag()

    复数操作

      复数全部操作均为可以按照数学格式进行

      cout,cin,均已重载;格式为(real,imag)

    序偶

    一般说明

    • 头文件:“utility”
    • 模板名:pair<>
    • 用于表示总是成对出现的两个对象
    • 例子1:pair<int,double>a(1,1.0);
    • 例子2:pair<string,string>name("zhang","san");

    使用规则

    • 公开的数据成员:first,second
    • 例子:cout << name.first << "," << name.second;
    • 序偶比较:先比较first大小,相同时比较second大小
    • make_pair:构造序偶的辅助函数
    • 例子:pair<int,double> a; a = make_pair(1,1.0);

    向量

    向量的目的

    替代数组,可以像数组一样使用向量

    向量的使用

    • 定义格式:vector<int> v(8);//包含8个整数的元素
    • operator[]:已重载,使用格式v[i]访问第i个元素
    • 向量可以整体赋值
    • size():返回向量中元素的数目
    • capacity:返回向量当前可存储的最多元素数目
    • clear():删除向量所有的元素,但不释放向量本身
    • resize(int newsize):重新设置向量容量

    迭代器

    迭代器的性质

    • 通过迭代器访问容器中的数据对象
    • 类似指针,数组索引的功能:通过指针加减与数组下标运算获得下一数据对象
    • 迭代器可以是指针,但并不必须是指针,也不必总是使用数据对象的地址

    迭代器的使用方法

    • 声明迭代器变量
    • 使用引领操作符访问迭代器指向的当前目标对象
    • 使用递增操作符获得下一对象的访问权
    • 若迭代器新值超出容器的元素范围,类似指针值变成NULL,目标对象不可引用

    迭代器的分类

    • 输入迭代器:提供对象的只读访问
    • 输出迭代器:提供对象的只写访问
    • 前向迭代器:提供对象的正向(递增)读写访问
    • 双向迭代器:提供对象的正向与反向(递增与递减)读写访问
    • 随机访问迭代器:提供对象的随机读写访问
    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    js原型链
    js的__proto__,prototype、constructor属性
    百度ife2015-小白的弯路2
    百度ife2015-小白的弯路1
    Visaul Studio 密钥
    pycharm常用的一些快捷键
    python3练习题--字符串
    字符串相关方法
    python3 基本数据类型
    在python中缩进的重要性
  • 原文地址:https://www.cnblogs.com/hujianglang/p/6250663.html
Copyright © 2011-2022 走看看