STL(C++)

        STL:标准模板库,它提供了一系列实现了常见数据结构和算法的模板类和函数。

STL的六大组件

容器

        用于存放数据 

        std::string:字符串类,类比容器

        std::vector:单端动态数组。支持随机访问,适合频繁访问元素和在序列末尾进行添加和删除元素的场景

        std::deque:双端动态数组。支持随机访问,适合频繁在序列首端和尾端的快速添加和删除元素的场景

        std::list:双向链表。适合频繁在序列中间插入和删除元素的场景

        std::set:集合,键唯一,自动根据键排序。元素本身就是键,且为这些元素排序

        std::map映射,键值对形式,且键唯一,自动根据键排序。键值由使用者在插入元素时明确指定,值也由使用者提供

        std::multiset:多重集合,允许键值重复

        std::multimap:多重映射,允许键值重复

算法

        操作数据,包括搜索、排序、计数、遍历等常见操作。

迭代器(iterator)

        连接算法和容器的桥梁。算法借助迭代器来操作数据。

        注:迭代器只有++操作,没有--的操作。

      这里介绍正向迭代器的成员函数

        1.begin():指向容器第一个元素的迭代器

        2.end():  指向容器最后一个元素之后位置的迭代器

        设计理念:半开区间  [begin,end)    

仿函数:

        为算法提供策略。就是重载了()运算符的类,这样类的对象就可以像普通函数那样被调用,因此这种对象被称为仿函数。

        operator(),例子如下

//定义一个仿函数类
class Adder 
{
public:
    //重载operator(),使得Adder的对象可以像函数那样被调用
    int operator()(int a, int b) {
        return a + b;
    }
};

Adder add;
int c=add(1,2);

适配器

        主要是为了解决两个接口不兼容的问题,通过包装已有的一个类提供一个新的接口,从而使接口不匹配的类可以协同工作。

适配器的角色组成

  • 目标接口:期望使用的接口,它定义了需要的特定领域的接口。
  • 需要适配的类:已存在的、需要被适配的类,这个类的接口通常与目标接口不兼容。
  • 适配器:适配器类,通过继承或引用需要适配的类,实现目标接口,从而使需要适配的类能够按照目标接口的形式被使用。

空间配置器

        为容器和算法管理空间,用于抽象内存的分配和回收。(一般用不上,自己还没到那个水平呢)

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值