set成员函数都有什么
时间: 2024-06-04 11:12:02 浏览: 10
常用的set成员函数有:
1. insert(val):插入元素val
2. erase(val):删除元素val
3. clear():清空set中所有元素
4. size():返回set中元素的个数
5. empty():判断set是否为空
6. begin():返回指向第一个元素的迭代器
7. end():返回指向最后一个元素后一个位置的迭代器
8. find(val):查找元素val在set中的位置,返回指向该元素的迭代器,若不存在则返回end()
9. count(val):查找元素val在set中出现的次数
10. lower_bound(val):返回第一个大于等于val的元素的迭代器
11. upper_bound(val):返回第一个大于val的元素的迭代器
12. equal_range(val):返回一个pair,其中第一个元素是lower_bound(val)的结果,第二个元素是upper_bound(val)的结果
相关问题
std::set的成员函数
std::set 是 C++ STL 中的一个容器类,它是一个有序集合,其中不允许有重复的元素。下面是 std::set 的一些常用成员函数:
1. 构造函数:
- `set()`:默认构造函数,创建一个空的 set。
- `set(InputIterator first, InputIterator last)`:使用指定范围内的元素创建 set。
2. 迭代器相关:
- `begin()`:返回指向第一个元素的迭代器。
- `end()`:返回指向最后一个元素之后位置的迭代器。
- `rbegin()`:返回指向最后一个元素的反向迭代器。
- `rend()`:返回指向第一个元素之前位置的反向迭代器。
3. 容量相关:
- `empty()`:判断 set 是否为空,如果为空则返回 true,否则返回 false。
- `size()`:返回 set 中元素的个数。
- `max_size()`:返回 set 可以容纳的最大元素数量。
4. 插入和删除操作:
- `insert(const value_type& val)`:在 set 中插入一个元素。
- `erase(iterator position)`:删除指定位置的元素。
- `erase(const value_type& val)`:删除指定值的元素。
- `clear()`:清空 set 中的所有元素。
5. 查找和计数操作:
- `find(const value_type& val)`:查找指定值的元素,并返回其迭代器。如果未找到,则返回 set 的末尾迭代器。
- `count(const value_type& val)`:返回 set 中等于指定值的元素个数。
6. 其他操作:
- `swap(set& x)`:交换两个 set 容器的内容。
以上只是 std::set 的一部分成员函数,还有其他一些成员函数可供使用。如果你需要了解更多详细信息,建议查阅 C++ STL 的官方文档或相关教程。
类的成员函数都有this指针
是的,类的成员函数都有一个隐含的指向当前对象的指针,即this指针。this指针是一个指针常量,它指向当前对象,用于在类的成员函数中访问当前对象的成员变量和成员函数。this指针可以在成员函数内部使用,也可以在类的外部使用,但必须保证在使用前已经创建了对象。当我们调用一个成员函数时,编译器会自动将当前对象的地址作为this指针传递给函数。例如:
```c++
class Person {
public:
void setName(string name) {
this->name = name; // 使用this指针访问当前对象的成员变量
}
private:
string name;
};
int main() {
Person p;
p.setName("Tom"); // 调用setName函数时,编译器会自动传递当前对象的地址给函数,此时this指针指向p对象
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)