C++(STL):27 ---关联式容器set源码剖析
生活随笔
收集整理的這篇文章主要介紹了
C++(STL):27 ---关联式容器set源码剖析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、set
set語法使用參閱:
set的特性
set所有元素都會根據元素的鍵值自動被排序
set中的鍵值就是實值,實值就是鍵值
默認情況下set不允許兩個元素重復
set的迭代器
不能根據set的迭代器改變set元素的值。因為其鍵值就是實值,實值就是鍵值,如果改變set元素值,會嚴重破壞set組織
在后面的源碼中會看到,set的迭代器set<T>::iterator被定義為底層RB-tree的const_iterator。因此set的迭代器是一種constant iterators
set擁有與list的相同的某些性質
當客戶端對它進行元素新增(insert)操作或刪除(erase)操作時,操作之前的所有迭代器在操作完成之后依然有效(當然,被刪除的那個元素的迭代器無效)
相關算法
STL提供了一組set/multiset相關算法,包括交集(set_interp)、聯集(set_union)、差集(set_difference)、對稱差集(set_symmetric_difference)
詳情會在后面
總結
以上是生活随笔為你收集整理的C++(STL):27 ---关联式容器set源码剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PaperNotes(18)-Vecto
- 下一篇: linux 中阻塞与非阻塞 同步与异步