啥叫STL?

1. STL是什麼?

前面學瞭C++面向對象編程(封裝、繼承、多態)和泛型編程(模板),其目的是提高代碼的復用性,讓代碼簡介、結構清晰。

STL(Standard Template Library)即標準模板庫。

作用:提供數據結構和算法的使用標準

內容:廣義上分為容器(container)、算法(algorithm)以及迭代器(iterator)

實現基礎:函數模板或類模板

2. STL的六大組件

大體上可以有6類:容器、算法、迭代器、仿函數、適配器(配接器)、空間配置器

  • 容器:即各種數據結構,如vector、list、deque、set等
  • 算法:即常用的算法,如sort、find等
  • 迭代器:容器與算法之間的溝通媒介
  • 仿函數:類的使用看上去像一個函數
  • 適配器:用來修飾容器或者仿函數或者迭代器接口
  • 空間配置器:負責空間的配置和管理

3.容器、算法、迭代器

  • 容器

將常用的數據結構實現出來,比如數組、鏈表、棧、隊列、集合等。每個容器使用都得包含自己的頭文件。

一般分為序列式容器(元素的內存地址有序排列)、關聯式容器(元素內存地址之間無嚴格順序)

  • 算法

解決問題的辦法,分為質變算法(修改元素內容)、非質變算法(不會修改元素內容)

  • 迭代器

容器和算法之間的溝通媒介,有序訪問容器的內容,而無需暴露容器的內部表示;

容器和迭代器之間一一對應,每個容器都有自己專屬的迭代器。

发表回复

相关推荐

亚马逊为什么需要测评?怎么做呢?

在亚马逊的生态系统中,产品测评是一个重要的环节。产品的测评是一个重要的环节,好的测评可以给潜在的买家对于产品质量和性 ...

· 3分钟前

[抗衰老故事]挨饿续命法风靡全球,热量限制(CR)的历史和缺陷

写在前面 热量限制(CR),指保证营养全面的前提下,降低膳食总热量为同龄人平均水平的 50%-70%,这个苛刻的方法被证明能够延 ...

· 11分钟前

電腦上有沒有批量識別二維碼並快速分類的工具

4-1如果需要在電腦上大量地識別二維碼並且要按二維碼的類型分類,該咋辦? 如果自己的工作就是要識別很多二維碼並且對它做分...

· 12分钟前

强者思维恋爱:乌鸦救赎的9600元魅力提升课程,可靠么?

想了解,找我购买即可 来自一个粉丝的提问:乌鸦救赎的9600元魅力提升课程,可靠么?想报名,但害怕被骗,想问问大家,他们 ...

· 16分钟前

長大後就懂的人生感悟,充滿哲理,引人深思!

「文案門」專註收集情感 |祝福文案“在我的文字裡,總有你的故事”一、直覺這個東西還是挺準的,你能察覺到的所有怠慢、輕蔑,...

· 17分钟前