当前位置: 首页 > news >正文

STL简介、什么是STL、STL的六大组件、STL缺陷等的介绍

文章目录

  • 前言
  • 一、什么是STL?
  • 二、STL的六大组件
  • 三、STL缺陷
  • 总结


前言

STL简介、什么是STL、STL的六大组件、STL缺陷等的介绍


一、什么是STL?

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

二、STL的六大组件

在这里插入图片描述

本质上空间配置器,就是一个简单的内存池
容器本质上就是数据结构

三、STL缺陷

  1. STL库的更新太慢了。这个得严重吐槽,上一版靠谱是C++98,中间的C++03基本一些修订。C++11出
    来已经相隔了13年,STL才进一步更新。
  2. STL现在都没有支持线程安全。并发环境下需要我们自己加锁。且锁的粒度是比较大的。
  3. STL极度的追求效率,导致内部比较复杂。比如类型萃取,迭代器萃取。
  4. STL的使用会有代码膨胀的问题,比如使用vector/vector/vector这样会生成多份代码,当然这是模板语
    法本身导致的。

总结

STL简介、什么是STL、STL的六大组件、STL缺陷等的介绍

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • 20240831-PostgreSQL小课持续更新
  • 神仙公司名单(北京篇)
  • Java-互斥锁死锁释放锁
  • Linux之nginx部署项目【前后端分离】(外加redis安装)
  • Elasticsearch在高并发下如何保证读写一致性
  • 【面试05】PID控制算法
  • git创建本地分支并track跟踪远程分支
  • 两步解决yum无法安装软件问题:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
  • 云动态摘要 2024-09-04
  • Spring Security中的BCrpt介绍,及其与SHA-256的对比
  • 【图论】Dijkstra算法求最短路
  • OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现 2
  • 使用Nginx获取客户端真实IP(real_ip_header)
  • 第三章 数组 课后训练(4)
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • CentOS7简单部署NFS
  • conda常用的命令
  • C语言笔记(第一章:C语言编程)
  • github从入门到放弃(1)
  • js 实现textarea输入字数提示
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Magento 1.x 中文订单打印乱码
  • Spring Boot MyBatis配置多种数据库
  • Terraform入门 - 3. 变更基础设施
  • win10下安装mysql5.7
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 程序员最讨厌的9句话,你可有补充?
  • 飞驰在Mesos的涡轮引擎上
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于 Babel 的 npm 包最小化设置
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 责任链模式的两种实现
  • 【干货分享】dos命令大全
  • 如何正确理解,内页权重高于首页?
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​【已解决】npm install​卡主不动的情况
  • #FPGA(基础知识)
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (12)Linux 常见的三种进程状态
  • (13):Silverlight 2 数据与通信之WebRequest
  • (3)nginx 配置(nginx.conf)
  • (7)svelte 教程: Props(属性)
  • (差分)胡桃爱原石
  • (二) 初入MySQL 【数据库管理】
  • (分布式缓存)Redis分片集群
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (未解决)macOS matplotlib 中文是方框