集合是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 | 返回指向起點的反向迭代器。 |
crbegin | 返回指向末尾的常量反向迭代器。 |
crend | 返回指向起點的常量反向迭代器。 |
函數(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() | 交換兩組元素。 |