欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 頭文件系列(set)詳解

 更新時間:2017年02月02日 16:47:16   投稿:hebedich  
一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實現(xiàn) 。

簡介

頭文件包含 set 、 multiset 兩個類模版,這里要描述的概念與map非常相似,甚至連成員函數(shù)都幾乎一樣,所以這篇隨筆會很短。

set

set如果翻譯成中文應(yīng)該是集合的意思,這里更確切的說是 唯一有序集合 ,性質(zhì)與map類似:

  1. 關(guān)聯(lián)性
  2. 元素唯一性
  3. 動態(tài)增長
  4. 有序性

此外的一個重要特點是:

Key與Value是同一個對象(自映射)

set == map

定義使用set的時候只需要傳入一個類型參數(shù),這個類型即是key,也是value。 實際上, set是map的特殊情況 ,雖然set沒有鍵值對這種元素形式,但set的key本身就是value,map上鍵值對得映射在這里可以看作是元素本身到本身的映射。 所以說, 兩者在實現(xiàn)上應(yīng)該是有非常大的重合的 。 而從概念上來說,set完全可以由map來實現(xiàn),從而成為一個容器適配器。 但沒有那么做的原因,我想最大程度上是為了節(jié)約內(nèi)存吧,value值的保存完全是沒有必要的。

實現(xiàn)

通過查看VS 2013版本的C++頭文件可以發(fā)現(xiàn),set和map都是直接共有繼承的_Tree類(紅黑樹),沒有任何其他私有成員。 編碼上的可重用性,佐證了上述想法。

與map不同之處

要說有什么不同,那就是set不提供元素修改的功能----沒有operator[]、at函數(shù)。

一旦元素被插入集合,只能被刪除,不能被重新賦值。 可能對于集合這個概念來說,修改元素的動作太不常見了,所以標(biāo)準(zhǔn)庫索性就去掉了這個功能。

multiset

與multimap類似,這個類模版相當(dāng)于是支持多個鍵值的set版本。

相關(guān)文章

  • 從c++標(biāo)準(zhǔn)庫指針萃取器談一下traits技法(推薦)

    從c++標(biāo)準(zhǔn)庫指針萃取器談一下traits技法(推薦)

    本篇文章基于gcc中標(biāo)準(zhǔn)庫源碼剖析一下標(biāo)準(zhǔn)庫中的模板類pointer_traits,并且以此為例理解一下traits技法,對c++ traits技法源碼分析感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • 深入uCOS中全局變量的使用詳解

    深入uCOS中全局變量的使用詳解

    本篇文章是對uCOS中全局變量的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 關(guān)于MFC List Control 控件的總結(jié)

    C++ 關(guān)于MFC List Control 控件的總結(jié)

    這篇文章主要介紹了C++ 關(guān)于MFC List Control 控件的總結(jié)的相關(guān)資料,十分的詳細(xì),有需要的朋友可以參考下
    2015-06-06
  • C++模擬實現(xiàn)string類的實例代碼

    C++模擬實現(xiàn)string類的實例代碼

    這篇文章主要給大家介紹了C++如何模擬實現(xiàn)string類,文章通過代碼示例講解的非常詳細(xì),有完整的實現(xiàn)過程,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • C語言棧與隊列面試題詳解

    C語言棧與隊列面試題詳解

    棧和隊列,嚴(yán)格意義上來說,也屬于線性表,因為它們也都用于存儲邏輯關(guān)系為 "一對一" 的數(shù)據(jù),但由于它們比較特殊,因此將其單獨作為一章,做重點講解
    2022-04-04
  • C++存儲鏈接性原理詳解

    C++存儲鏈接性原理詳解

    這篇文章主要為大家介紹了C++存儲鏈接性原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • C++回溯算法之深度優(yōu)先搜索詳細(xì)介紹

    C++回溯算法之深度優(yōu)先搜索詳細(xì)介紹

    回溯在迷宮搜索中使用很常見,就是這條路走不通,然后返回前一個路口,繼續(xù)下一條路。回溯算法說白了就是窮舉法,下面讓我們一起來看看回溯算法中深度優(yōu)先搜索吧
    2023-01-01
  • 最新評論