天天看點

STL容器 容器擴充卡

 所謂泛型程式設計就是以獨立于任何特定類實作的方式編寫代碼,針對不同的類型提供通用的實作。

 STL中的容器、疊代器、算法都是很好的泛型程式設計的實作。由于标準庫使用了泛型技術,使得标準庫幾乎能使用于任何的類型。

 在C++中實作泛型程式設計主要是利用C++中的模闆技術進行實作的。

 在STL中,容器是容納特定類型對象的集合,在stl中,有順序容器和關聯容器兩種。

 關聯容器:set multiset map multimap

 在STL中,容器一般用模闆類來實作。不過STL并沒有采用面向對象的技術。在stl中并沒有一個通用的容器類。各種具體的容器也沒有統一的基類。

 順序容器:指提将一組具有相同類型的T的對象,以嚴格的線性形式組織在一起的容器。包括vector/deque和list這三種容器。注意list雖然不支援随機通路,但它卻是順序容器。

 stack/queue/priority_queue是容器擴充卡。容器擴充卡不是獨立的容器,隻是某種容器的變種,它提供原容器的一個專用的受限接口。特别是,容器擴充卡和普通容器不同在于它不提供疊代器。在STL中3種容器擴充卡。即棧、隊列、優先隊列。即本段開頭提到的三個。

 queue back()讀取隊尾處元素。 front()讀取隊首元素。

版權聲明:本文為CSDN部落客「weixin_33788244」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_33788244/article/details/91913398