C++:标准模板库(STL)
介绍
STL(standard template library)标准模板库,是一种高效的C++程序库。
STL分为三类:container(容器),iterator(迭代器)和algorithm(算法)。
容器(container)
容器是用来管理某一类对象的集合,包括序列式容器和关联式容器。
序列式容器:vector,list,deque
关联式容器:map,set
遵循规则:
1.所有容器中存放的都是值而非引用。因此容器中的每个元素必须能够被拷贝,如想存放的不是副本,容器元素只能是指针。
2.容器中所有元素都是有次序(order)的,可以进行一次或多次遍历每个元素。
迭代器(iterators)
迭代器用于遍历对象集合的元素,这些集合可能是容器也可能是容器子集。
所有容器都提供获得迭代器的函数。
begin() 返回一个迭代器,指向第一个元素
end() 返回一个迭代器,指向最后一个元素
算法(algorithm)
算法作用于容器,包括对容器内容进行初始化,排序,搜索和转换等操作。
STL算法分为四类:
1.非可变序列算法:不直接修改容器中内容。
2.可变序列算法:可以直接修改容器的内容。
3.排序算法:包含对序列的排序,合并,搜索和对有序序列的操作等算法那。
4.数值算法:对容器内容计算。
欢迎加群交流:C/C++开发交流
C++:标准模板库(STL)相关推荐
- C++ 标准模板库(STL)
C++ 标准模板库(STL) C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列) ...
- c++标准模板库STL【快速查找】【最全】【常用】【语法】
c++标准模板库STL[快速查找][最全][常用][语法] c标准模板库STL快速查找最全常用语法 vector- 变长数组 set-内部自动有序且不含重复元素 ...
- c语言stl模板,c/c++开发分享C++ 标准模板库 STL 顺序容器详解
c++ 标准模板库 stl 顺序容器 容器 顺序性 重复性 支持迭代器 vector 动态数组 无序 可重复 随机访问迭代器 deque 双向队列 无序 可重复 随机访问迭代器 list 双向链表 无 ...
- 13 标准模板库STL【C++】
13 标准模板库STL 13- 判断题 单选题 填空题 程序填空题 函数题 7-1 .查找电话号码 7-2 姓名排序 7-3 Score Processing 13+ 编程题 7-1 查找成绩并折算后 ...
- 第十章 标准模板库STL
第十章 标准模板库STL 因为是在复习时重写的,无法在PTA上验证,编程题格式可能有误. 判断题 1.可以通过下标随机访问向量vector中的元素.(T) 2.当向量对象的内存用完之后,就会产生越界错 ...
- 标准模板库STL(Standard Template Library)
标准模板库STL(Standard Template Library)指南 /*刘振飞liuzf@pku.org.cn 1999-10-20*/ / *版权所有 (C) 1999-2004 刘振飞li ...
- C++中标准模板库STL基本概念
0. 前言 C++语言的一大优势就是便于软件的重用,而重用体现在两方面: 1. 面向对象思想:继承和多态,标准类库 2. 泛程序设计(Generic Programming)思想:模板机制,标准模板库 ...
- 蓝桥杯算法竞赛系列第0章——蓝桥必考点及标准模板库STL(上)(万字博文,建议抱走)
欢迎来到:遇见蓝桥遇见你,不负代码不负卿! 目录 一.蓝桥必考点剖析 二.什么是STL 三.vector的常见用法详解 1.vector的定义 2.vector容器内元素的访问 (1).通过下标访 ...
- C++ ——模板 标准模板库STL
C++ 知识基础 流操作符 类 & 基础 初始化和重载 类 & 高级 继承和多态 模板 & 标准模板库STL 目录 C++ 一.模板 1.函数模板 2.类模板 二.标准模板库S ...
- C++ 标准模板库 STL 概述
泛型程序设计 C++ 的特点: C++ 的核心优势之一就是便于软件重用,而软件的重用在 C++ 中主要体现在以下两个方面: 面向对象的思想:继承.多态和标准类库 泛型程序设计的思想:模板机制和标准 ...
最新文章
- Python 入门 Day4
- 一道暴力枚举题Win32版本示例
- 机器学习中的高斯过程简介-好文
- Apache基金会接收阿里RocketMQ为孵化项目
- Firefox火狐Flash插件卡死问题完美解决方法(转载)
- 一步步编写操作系统 28 cpu乱序执行
- java synchronized块_Java多线程同步代码块Synchronized
- 2012年回忆录及2013年目标设立
- 修改mac地址_交换机工作基础——MAC地址表的构成与安全
- Mybatis 一对多
- 大学生 计算机 毕业设计 xx管理系统 毕设(1)
- (计算机考研复试)计算机网络重点知识
- QT--3.创建一个简单的图形界面
- 后端速成JavaScript
- 中学生心理测试系统软件,学校心理测评软件
- 使用Bmob云端代码开发微信公众平台教程
- DBT-50000及相关问题处理
- 一零二、Vue中自定义emoji表情包
- 水位检测电路的设计(模电课设)
- 使用Servlet和JSP开发Java应用程序 ---- 查询四六成绩
热门文章
- shopex模板修改教程收集
- android:layout_marginright 不起作用,ConstraintLayout页边距不起作用
- 基于Hadoop的地震数据分析统计
- P2473 奖励关 状压概率DP求期望
- 基于java‘网上宠物店计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
- Generalized Incomplete Multiview Clustering With Flexible Locality Structure Diffusion
- 初探SQL注入之GGBond版
- linux for循环 | while循环 | until 循环 | 超详细
- 中国智慧城市“热战”的2018 1
- 思维导图软件iMindMap不同视图怎么使用