stl-set
stl-set
set/multiset會根據待定的排序準則,自動將元素排序。兩者不同在於前者不允許元素重複,而後者允許。
1) 不能直接改變元素值,因為那樣會打亂原本正確的順序,要改變元素值必須先刪除舊元素,則插入新元素
2) 不提供直接存取元素的任何操作函數,隻能通過迭代器進行間接存取,而且從迭代器角度來看,元素值是常數
3) 元素比較動作隻能用於型別相同的容器(即元素和排序準則必須相同)
set模板原型://Key為元素(鍵值)類型
template <class Key, class Compare=less<Key>, class Alloc=STL_DEFAULT_ALLOCATOR(Key) >
從原型可以看出,可以看出比較函數對象及內存分配器采用的是默認參數,因此如果未指定,它們將采用係統默認方式,
另外,利用原型,可以有效地輔助分析創建對象的幾種方式
1) 不能直接改變元素值,因為那樣會打亂原本正確的順序,要改變元素值必須先刪除舊元素,則插入新元素
2) 不提供直接存取元素的任何操作函數,隻能通過迭代器進行間接存取,而且從迭代器角度來看,元素值是常數
3) 元素比較動作隻能用於型別相同的容器(即元素和排序準則必須相同)
set模板原型://Key為元素(鍵值)類型
template <class Key, class Compare=less<Key>, class Alloc=STL_DEFAULT_ALLOCATOR(Key) >
從原型可以看出,可以看出比較函數對象及內存分配器采用的是默認參數,因此如果未指定,它們將采用係統默認方式,
另外,利用原型,可以有效地輔助分析創建對象的幾種方式
set的使用。
set ,重載自定義結構體的 ‘()’運算符
重載‘<’運算符部分函數
最後更新:2017-04-03 12:56:01