C++标准库与STL简介

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++深度解析教程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值