STL 容器中的元素必须满足的条件
生活随笔
收集整理的這篇文章主要介紹了
STL 容器中的元素必须满足的条件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? STL中的容器、迭代器、算法都是模板,因此可以操作任何型別。不論是STL預先定義好的或用戶自行定義的都可以。然而,由于某些加諸于元素身上的操作行為,某些需求條件也就相應出現了。STL容器元素必須滿足以下三個基本條件:
? ?? 這三個條件對任何class而言其實都是隱式成立的。如果某個class既沒有為上述動作定義特殊版本,也沒定義任何“可能破壞這些動作之健全性的”特殊成員,那么它自然而然也就滿足了上述條件。下面幾個條件也得滿足:
- ?對序列式容器而言,元素的defaut構造函數必須可用。 我們可以在沒有給予任何初值的情況下,創建一個非空容器,或增加容器的元素個數,這些元素都將以default構造函數完成。
- ?對于某些動作,必須定義operator = = 以執行相等測試。如果你有搜尋需求,這一點很重要。
- ?在關聯式容器中,元素必須定義出排序準則。缺省情況下 operator<, 透過仿函數less<>調用。
? ? ? ? ?
總結
以上是生活随笔為你收集整理的STL 容器中的元素必须满足的条件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀怎么封号
- 下一篇: osg::PositionAttitud