C++基础技术简介

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述

容器

容器用于存储数据元素,是由长度可变的同类型的元素构建成的序列。

Vector:用于快速定位任意元素及主要在元素序列的尾部增加/删除元素的场合,在头文件中定义,用动态数组实现。

basic_string<元素类型>:与vector相似,不同之处在于其元素类型是字符类型,提供与字符串相关的操作。string和wstring是它的两个实例basic_string和basic_string。

set<元素类型>和multiset<元素类型>:在set头文件中定义,set可以用于去重。

map<关键字类型,值类型> 和multimap<关键字类型,值类型>:元素按关键字排序,multimap中不同元素的关键字可以相同,在map头文件中定义,常常用某种二叉树实现。

list<元素类型>:用于经常在元素序列中任意位置上插入/删除元素的场合。在list头文件中定义,用双向链表实现。

stack<元素类型>:用于仅在元素序列的尾部增加/删除元素的场合,在stack头文件中定义,一般基于deque来实现。

deque<元素类型>:用于主要在元素序列的两端增加/删除元素以及需要快速定位(访问)任意位置上的元素的场合。在deque头文件定义,用分段的连续空间结构实现。

queue<元素类型>:用于仅在元素序列的尾部增加,头部删除元素的场合。在queue头文件中定义,一般基于deque来实现。
  1. 迭代器

    迭代器实现了抽象的指针(智能指针),它们指向容器中的元素,用于对容器中的元素进行访问和遍历。

    输入迭代器:用于读取所指向的容器元素。

    输出迭代器:用于修改所指向的容器元素。

    前向迭代器:用于读取和修改所指向的容器元素。

    双向迭代器:用于读取和修改所指向的容器元素。

    随机访问迭代器:用于读取和修改所指向的容器元素。

  2. 算法

调序算法:改变容器中元素的次序。

集合算法:用于实现集合的运算。

查找算法:用于在容器中查找元素或子元素序列。

堆算法:用于实现按对结构存储和操作容器中的元素,具有堆结构的容器的主要特点之一是:第一个元素总是最大的。

编辑算法:用于实现对容器元素的复制、替换、删除、交换、合并、赋值等操作。、

元素遍历并操作算法:依次访问一个范围内的每个元素,并对每个元素调用某个指定的操作函数或函数对象f。

算术算法:用于对容器内的元素进行求和、内积和、差等。

模板

  1. 类属性

类属类:一个类的成员类型可变。

类属性: 一个程序实体能对多种类型的数据进行操作或描述的特性。

类属函数:一个函数能对不同类型的数据(参数)完成相同的操作。

  1. 指针类型参数

将参数类型定义为void *,因为void *可以接受任何指针类型。

  1. 函数模板

    动态语言中在定义参数是不用指定类型,所以本身就具有类属性。

C++时一种静态类型语言,可以通过宏定义、指针类型参数、函数模板等方式实现类属性。

  1. 函数模板

    定义

    template <class T1, class T2, …>

    <返回值类型> <函数名> (<参数表>)

    {…}

  2. 类模板

    template <class T1, class T2, …>

    class <类名>

    {<类成员声明>

    };

    在类外部定义的成员函数

    template <class T1, class T2, …>

<返回值类型> <类名> <T1, T2, …>::<成员函数名>(<参数表>){…}

猜你喜欢

转载自blog.csdn.net/weixin_44172023/article/details/93464254
今日推荐