C++(STL):26 ---关联式容器set用法
set容器都會(huì)自行根據(jù)鍵的大小對(duì)存儲(chǔ)的鍵值對(duì)進(jìn)行排序, 只不過(guò) set 容器中各鍵值對(duì)的鍵 key 和值 value 是相等的,根據(jù) key 排序,也就等價(jià)為根據(jù) value 排序。
另外,使用 set 容器存儲(chǔ)的各個(gè)元素的值必須各不相同。更重要的是,從語(yǔ)法上講 set 容器并沒(méi)有強(qiáng)制對(duì)存儲(chǔ)元素的類型做 const 修飾,即 set 容器中存儲(chǔ)的元素的值是可以修改的。但是,C++ 標(biāo)準(zhǔn)為了防止用戶修改容器中元素的值,對(duì)所有可能會(huì)實(shí)現(xiàn)此操作的行為做了限制,使得在正常情況下,用戶是無(wú)法做到修改 set 容器中元素的值的。
對(duì)于初學(xué)者來(lái)說(shuō),切勿嘗試直接修改 set 容器中已存儲(chǔ)元素的值,這很有可能破壞 set 容器中元素的有序性,最正確的修改 set 容器中元素值的做法是:先刪除該元素,然后再添加一個(gè)修改后的元素。
值得一提的是,set 容器定義于<set>頭文件,并位于 std 命名空間中。因此如果想在程序中使用 set 容器,該程序代碼應(yīng)先包含如下語(yǔ)句:
#include <set>using namespace std;注意,第二行代碼不是必需的,如果不用,則后續(xù)程序中在使用 set 容器時(shí),需手動(dòng)注明 std 命名空間(強(qiáng)烈建議初學(xué)者使用)。
set 容器的類模板定義如下:
總結(jié)
以上是生活随笔為你收集整理的C++(STL):26 ---关联式容器set用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redis:11---Set对象
- 下一篇: C++:51---继承中的构造函数、析构