std set 自定义类型 迭代器
时间: 2023-12-06 21:04:49 浏览: 84
在使用std set容器时,如果要处理自定义类型的元素,我们需要定义一个比较函数(仿函数)来指定排序规则。如果我们想要创建一个const iterator(指向const值的迭代器),我们可以通过定义一个const set来实现。const iterator允许我们遍历容器,但不能用来修改所指向的值。
与此类似,如果我们想要创建一个const set来存储自定义类型的元素,并且希望按照特定的排序规则进行排序,我们需要定义一个比较函数(仿函数)来传递给set构造函数。这样,在插入元素时,set容器会自动根据比较函数的规则进行排序。
对于set容器,我们可以使用insert()函数向容器中插入元素,使用erase()函数删除元素,使用clear()函数清除所有元素。插入和删除操作都可以使用迭代器来指定要操作的位置。
总结起来,当我们在使用std set容器处理自定义类型的元素时,我们需要定义一个比较函数(仿函数)来指定排序规则,并且可以使用const iterator来遍历容器中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【C++】集合(set与multiset)的使用及set自定义类型排序](https://blog.csdn.net/AAADiao/article/details/130972036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C++:set容器自定义数据类型的自定义排序](https://blog.csdn.net/prolop87/article/details/124364102)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文