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

完整教程:【C++】STL简介+编码表+string引入

完整教程:【C++】STL简介+编码表+string引入

目录

一 STL简介

1 什么是STL

2. STL的版本

3. STL的六大组件

4. STL的重要性

5. 如何学习STL

二 编码表

1 编码的定义

2 ASCII表

3 string类

4 变长编码集


一 STL简介


1 什么是STL

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

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)采用,可
移植性好,可公开、修改甚至贩卖
,从命名风格和编程 风格上看,阅读性非常高。我们后面学习
这个版本。就是STL要阅读部分源代码,首要参考的就

3. STL的六大组件

解释:
1、仿函数:类似于开关,从前往后、从左往右...类似这种。

2、容器:就是数据结构

3、空间配置器:内存池。

4、算法:如swap(交换)、sort(排序)等直接在STL实现了的简单算法

5、迭代器:遍历容器。

6、配接器:也叫适配器,可以看到,配接器里面有Stack、Queue等数据结构。

我们目前首要接触容器和算法

4. STL的重要性

1 在笔试中

笔试一般为20+道选择题,和2-3道编程题组成

我们来看一道算法题

https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin

2 在面试中

我们直接来看几个例子:

3. 在工作中
网上有句话说:“不懂STL,不要说你会C++”。STL是C++中的优秀作品,有了它的陪伴,许多底层
的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的高效开发。


5. 如何学习STL

来看看前辈是怎么学习STL的:

简单总结一下:学习STL的三个境界:能用,明理,能扩展

二 编码表


1 编码的定义

编码:值和符号的映射关联集合

2 ASCII表

说到编码表,大家可能有点陌生,但是其实我们学习过编码表,在c语言中的ASCII表就是一个编码表。是美国人搞的他们文字编码表(0~127),是(char整型)在内存中的整型值。

3 string类

string是STL里的容器,只是我们在https://legacy.cplusplus.com/reference/(cpluspius)中找不到string,为什么?

因为string产生的比STL早,先设计的string。就是这

4 变长编码集

对汉字使用的示例:

int main()
{
char buff1[] = "abcA";
buff1[0]++;
char buff2[] = "比特abc";
cout << sizeof(buff2) << endl;
buff2[1]++;
cout << buff2 << endl;
buff2[1]++;
cout << buff2 << endl;
buff2[3]++;
cout << buff2 << endl;
buff2[3]++;
cout << buff2 << endl;
return 0;
}

运行结果为:

http://www.sczhlp.com/news/132563/

相关文章:

  • 网站建设seo网络推广用什么做视频网站比较好的
  • 义乌营销型网站建设市场营销策划方案范文
  • 建设企业网站的流程摄影工作室建设
  • 网站模板手机做分色找工作网站
  • 五道口网站建设青岛北方现货交易平台代理
  • 基于节流的流水线并行推理优化——gLLM
  • Corral the Cows
  • 济南高端网站设计策划为企业做网站还有前途吗
  • 网站开发4k分辨率百度网盟推广组所拥有的定向功能
  • 惠城网站设计wordpress网站在哪里修改
  • 甘肃省第九建设集团网站首页公司做铸造的招聘网站都有哪些
  • 承包建筑工程信息网站杭州住房和城乡建设局网站首页
  • wordpress 整站转移wordpress内核权限
  • 鱼骨建站公司网址与网站的区别
  • 行业网站名称wordpress网站如何提速
  • 南宁建设工程质量网站备案号 网站
  • dede网站地图模板下载番禺怎么读
  • HarmonyOS 5 Native与ArkTS混合开发实战:跨语言高性能组件开发
  • 实战:基于HarmonyOS 5构建分布式聊天通讯应用
  • Java-Eclipse使用-多维数组的使用
  • 建设银行网站修改预留手机号app制作软件平台
  • 在线h5免费制作网站大连网络公司企业
  • 浙江宝业建设集团网站国家企业信用信息公示系统查询
  • html网站要怎么做网站项目策划书方案
  • 广州论坛网站互联网行业发展前景分析报告
  • 如何降低网站的权重东莞网站设计公司排名
  • 外贸网站怎么做那个网站效果图做的好
  • 新手做网站盈利北京展览馆网站建设
  • 网站结构逻辑结构wordpress支持HTML么
  • HarmonyOS 5 动画性能优化深度解析:从原理到实践