文章目录

  • 1 C++标准库
    • 1.1 C++标准库简介
  • 2 STL简介
    • 2.1 STL介绍
    • 2.2 容器简介

1 C++标准库

重复发明轮子并不是一件有创造性的事,站在巨人的肩膀上解决问题会更加有效!

1.1 C++标准库简介

C++标准库简介:

  • C++标准库并不是C++语言的一部分。
  • C++标准库是由类库和函数库组成的集合。
  • C++标准库中定义的类和对象都位于std命名空间中。
  • C++标准库的头文件都不带.h后缀。
  • C++标准库涵盖了C库的功能。
  • C++标准库包含经典算法和数据结构的实现。

C++编译环境的组成:

C++标准库预定义了多数常用的数据结构:

示例代码:C++标准库中的C库兼容

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>using namespace std;int main()
{printf("Hello world!\n");char* p = (char*)malloc(16);strcpy(p, "D.T.Software");double a = 3;double b = 4;double c = sqrt(a * a + b * b);printf("c = %f\n", c);free(p);return 0;
}

2 STL简介

2.1 STL介绍

STL主要分为分为三类:

  • algorithm(算法):对数据进行处理(解决问题) 步骤的有限集合。
  • container(容器): 用来管理一组数据元素。
  • Iterator (迭代器):可遍历STL容器内全部或部分元素”的对象。

容器和算法通过迭代器可以进行无缝地连接。在STL中几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。

STL 最早源于惠普实验室,早于C++存在,但是C++引入STL概念后,STL就成为C++的一部分,因为它被内建在你的编译器之内,不需要另行安装。

STL被组织为下面的13个头文 件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack> 和<utility>

2.2 容器简介

容器部分主要有由<vector>,<list>,<deque>,<set>,<map>,<stack> 和<queue>组成。

下面是常用的一些容器,可以通过下表总结一下它们和相应头文件的对应关系。


参考资料:

  1. C++深度解析教程

C++标准库与STL简介相关推荐

  1. NDK中C++标准库、STL的配置;Include其他头文件

    原文: Android学习笔记--NDK中C++标准库.STL的配置:Include其他头文件 1.STL的使用,以stlport为例 官方的说法是只需要在Application.mk文件中添加如下一 ...

  2. 【Android 逆向】ptrace 函数 ( C 标准库 ptrace 函数简介 | ptrace 函数真实作用 )

    文章目录 一.C 标准库 ptrace 函数简介 二.ptrace 函数真实作用 一.C 标准库 ptrace 函数简介 ptrace 函数 : 在 C 标准库 中有一个 ptrace 函数 , 该函 ...

  3. C++标准库(STL)与泛型编程

    C++标准库(STL)与泛型编程 学习网站: cplusplus.com cppRerference.com 学习书籍: <STL源码剖析> STL体系结构基础介绍 STL六大部件:容器. ...

  4. 微软开源其 C++ 标准库实现 STL

    微软近日宣布开源其 MSVC 的 C++ 标准库实现(也就是 STL),该库实现是 MSVC 工具集和 Visual Studio IDE 的一部分. 微软表示开源 STL 可以使开发者随时了解其发展 ...

  5. Python标准库base64用法简介

    base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据.提供了RFC3548中Base16.Base32.Base64以及事实标准Ascii85和Base ...

  6. golang 标准库strings包 简介

    Count // Count 计算字符串 sep 在 s 中的非重叠个数 // 如果 sep 为空字符串,则返回 s 中的字符(非字节)个数 + 1 // 使用 Rabin-Karp 算法实现 fun ...

  7. [技术] OIer的C++标准库 : STL入门

    注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...

  8. STL(C++标准库,体系结构及其内核分析)(STL源码剖析)(更新完毕)

    文章目录 介绍 Level 0:使用C++标准库 0 STL六大部件 0.1 六大部件之间的关系 0.2 复杂度 0.3 容器是前闭后开(左闭右开)区间 1 容器的结构与分类 1.1 使用容器Arra ...

  9. C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义. 在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括: (1)成本:已经作为标准提供,何苦再 ...

最新文章

  1. 学习换脸:Switching Eds: Face swapping with Python, dlib, and OpenCV
  2. [YTU]_2625( 构造函数和析构函数)
  3. Python-线程的生命周期
  4. 【利好工具】JavaScript及时运行调试工具
  5. Python学习笔记(1):用户输入,终端输入
  6. vue -- 正确的引入jquery
  7. Inception-ResNet-v1网络结构
  8. Mac安装MySQL8碰到的问题
  9. 51单片机定时器实现钟表(LCD1602显示)
  10. 卫星运动的基础及GPS卫星星历
  11. 计算机科学导论复习提纲,计算机科学导论复习资料整理
  12. elasticsearch 基础 —— Jion父子关系
  13. 使用tree生成目录树结构
  14. HTML详解(3.为什么要学习html)
  15. 漫谈图像超分辨率技术
  16. 计算机审计试题及答案,计算机审计练习题及答案
  17. 嵌入式Web开发——Boa服务器移植
  18. uva 1626 Brackets sequence
  19. 比较有效的Windows10卡硬盘解决方法
  20. Java发送email邮件

热门文章

  1. 【控制】《多无人机协同控制技术》周伟老师-第1章-无人机协同控制技术概述
  2. P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结
  3. 构建根文件系统之busybox(四)完善
  4. leetcode 7整数反转和leetcode 9回文数
  5. 【PC工具】更新免费文库文档下载器,破解文库下载器,免费下载文库文档
  6. 【DIY】DIYarduino温湿度计视频图文教程
  7. 【MATLAB教程案例1】通信系统中成形滤波器原理的MATLAB设计实现
  8. POJ-1201 Intervals---差分约束
  9. 八周二次课 rsync工具介绍,常用参数选项以及和ssh同步
  10. MySQL系列:innodb源代码分析之线程并发同步机制