集合是C ++ STL(標(biāo)準(zhǔn)模板庫)的一部分。集合是存儲排序鍵的關(guān)聯(lián)容器,其中每個鍵都是唯一的,可以插入或刪除但不能更改。
template < class T, // set::key_type/value_type class Compare = less<T>, // set::key_compare/value_compare class Alloc = allocator<T> // set::allocator_type > class set;
T:存儲在容器集中的元素類型。
Compare:一個比較類,它接受兩個具有相同bool類型的參數(shù)并返回一個值。此參數(shù)是可選的,二進(jìn)制謂詞less <T>是默認(rèn)值。
Alloc:分配器對象的類型,用于定義存儲分配模型。
以下是set的所有成員函數(shù)的列表:
| 函數(shù) | 描述 |
|---|---|
| (constructor) | 構(gòu)造集 |
| (destructor) | set析構(gòu)函數(shù) |
| operator= | 將集合的元素復(fù)制到另一個集合。 |
| 函數(shù) | 描述 |
|---|---|
| begin | 返回一個指向集合中第一個元素的迭代器。 |
| cbegin | 返回指向集合中第一個元素的const迭代器。 |
| end | 返回指向末尾的迭代器。 |
| cend | 返回指向末尾的常量迭代器。 |
| rbegin | 返回指向末尾的反向迭代器。 |
| rend | 返回指向起點(diǎn)的反向迭代器。 |
| crbegin | 返回指向末尾的常量反向迭代器。 |
| crend | 返回指向起點(diǎn)的常量反向迭代器。 |
| 函數(shù) | 描述 |
|---|---|
| empty | 如果set為空,則返回true。 |
| size | 返回集合中元素的數(shù)量。 |
| max_size | 返回集合的最大大小。 |
| 函數(shù) | 描述 |
|---|---|
| insert | 在集合中插入元素。 |
| erase | 從集合中擦除元素。 |
| swap | 交換集合的內(nèi)容。 |
| clear | 刪除集合中的所有元素。 |
| emplace | 構(gòu)造新元素并將其插入到集合中。 |
| emplace_hint | 通過提示構(gòu)造新元素并將其插入到集合中。 |
| 函數(shù) | 描述 |
|---|---|
| key_comp | 返回一個用于元素間值比較的函數(shù)。 |
| value_comp | 返回一個用于比較元素間的值的函數(shù)。 |
| 函數(shù) | 描述 |
|---|---|
| find | 搜索具有給定鍵的元素。 |
| count | 獲取與給定鍵匹配的元素數(shù)。 |
| lower_bound | 返回指向大于(或等于)某值的第一個元素的迭代器。 |
| upper_bound | 返回大于某個值元素的迭代器。 |
| equal_range | 返回集合中與給定值相等的上下限的兩個迭代器。 |
| 函數(shù) | 描述 |
|---|---|
| get_allocator | 返回用于構(gòu)造集合的分配器對象。 |
| 函數(shù) | 描述 |
|---|---|
| operator== | 檢查兩組是否相等。 |
| operator!= | 檢查兩組是否相等。 |
| operator< | 檢查第一組是否小于其他組。 |
| operator<= | 檢查第一組是否小于或等于其他。 |
| operator> | 檢查第一個集合是否大于其他集合。 |
| operator>= | 檢查第一個集合是否大于其他集合。 |
| swap() | 交換兩組元素。 |