码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++【STL】【STL容器的使用与实现】


    目录

    1. 什么是STL

    2. STL的版本

    3. STL的六大组件

    4.STL容器组件的详解与简单实现


    1. 什么是STL

    STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。

    vector/list/sort……->STL

    istream/ostream……->标准库

    STL是标准库std的子集。


    2. STL的版本

    原始版本
    Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使用。 HP 版本--所有STL实现版本的始祖。
    P. J. 版本
    由P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或修改,缺陷:可读性比较低,符号命名比较怪异。
    RW版本
    由Rouge Wage公司开发,继承自HP版本,被C+ + Builder 采用,不能公开或修改,可读性一般。
    SGI版本
    由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版 本。被GCC(Linux)采用,可移植性好,可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。

    3. STL的六大组件

    仿函数  greater    less(提供一个类似于函数的类型)

    算法 find  swap  reverse  sort merge

    迭代器 iterator 

    空间配置器(内存池) allocator

    容器(数据结构)string vector(顺序表) list deque

    配接器 stack queue

    迭代器能够在不暴露底层细节的情况下,提供了统一的方式去访问容器,屏蔽底层细节,体现封装价值和力量。

    4.STL容器组件的详解与简单实现

    C++【STL】【string类的使用】_桜キャンドル淵的博客-CSDN博客

    C++【STL】【string类的模拟实现】【string类的深浅拷贝】_桜キャンドル淵的博客-CSDN博客

    C++【STL】【vector类的使用】_桜キャンドル淵的博客-CSDN博客 

    C++【STL】【vector类的模拟实现】【迭代器失效问题】_桜キャンドル淵的博客-CSDN博客

    C++【STL】【list类的使用】【list类的模拟实现】_桜キャンドル淵的博客-CSDN博客 

    C++【STL】【stack类的使用】【stack类的模拟实现】_桜キャンドル淵的博客-CSDN博客 

    C++【STL】【queue的使用和模拟实现】【priority_queue的使用和模拟实现】_桜キャンドル淵的博客-CSDN博客 

    C++【STL】【反向迭代器】_桜キャンドル淵的博客-CSDN博客 

    C++【搜索二叉树】_桜キャンドル淵的博客-CSDN博客 

    C++【STL】【map和set】_桜キャンドル淵的博客-CSDN博客 

    C++【AVL树】_桜キャンドル淵的博客-CSDN博客 

    C++【红黑树】_桜キャンドル淵的博客-CSDN博客 

    C++【哈希】_桜キャンドル淵的博客-CSDN博客 

  • 相关阅读:
    在外网环境中如何通过vpn接入到openstack的内部用户网络中
    MySQL笔记(进阶篇)
    公钥密码学中的公钥和私钥
    EtherCAT从站EEPROM分类附加信息详解:SM(同步管理器)
    Git管理
    【每周一测】Java阶段三第三周学习
    SRT一个简单的客户端和服务端
    优化VOI(Virtual Operating System Infrastructure,虚拟操作系统基础架构)架构的性能
    RHCE(五)HTTP、SSL协议综合实验
    使用vscode操作本地git
  • 原文地址:https://blog.csdn.net/weixin_62684026/article/details/126231860
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号