STL容器类
来源:互联网 发布:酷狗网络异常无法加载 编辑:程序博客网 时间:2024/05/16 02:38
第六章、STL容器
1.当容器插入元素时将调用元素的拷贝构造函数,因此如果对我们自定义的类型使用容器,应该为自定义
类型提供拷贝构造函数,如果没有提供编译器将为我们自动生成一个拷贝构造函数,当在容器中插入自
定义类型元素时,将调用编译器生成的拷贝构造函数。
容器类的共有操作:
初始化操作:
ContType c; 创建一个没有任何元素的空容器。
ContType c1(c2); 拷贝一个同类型的容器。
ContType c(beg,end) 创建一个容器,并拷贝[beg,end)范围的元素初始化容器。
c.~ContType(); 删除所有元素并释放内存。
大小操作:
c.size(); 返回元素实际数目。
c.empty(); 返回容器是否为空(相当于size()==0,但可能更快)。
c.max_size(); 返回能容纳元素的最多数目。
比较操作:
c1 == c2 返回c1是否等于c2.
c1 != c2 返回c1是否不等于c2(等价于!(c1==c2)).
c1 < c2 返回c1是否小于c2.
c1 > c2 返回c1是否大于c2。
c1 <= c2 返回c1是否小于或等于c2(等价于!(c2<c1))。
c1 >= c2 返回c1是否大于或等于c2(等价于!(c1<c2))。
使用比较运算符==, ! =, <, <=, >, 和 >=要求两个容器的类型相同。
赋值和swap()操作:
c1 = c2 将c2所有元素赋值给c1的所有元素。
c1.swap(c2) 交换c1和c2的数据。
swap(c1,c2) 全局函数,功能和c1.swap(c2)相同。
迭代器操作:
c.begin() 返回一个指向第一个元素的迭代器。
c.end() 返回一个指向最后一个元素下一个位置的迭代器。
c.rbegin() 返回一个指向从反方向开始的第一个元素的反向迭代器。
c.rend() 返回一个指向从反方向开始的最后一个元素的后面位置的反迭代器。
其它操作:
c.insert(pos,elem) 插入一个elem的拷贝(返回值和pos可能不同)。
c.erase(beg,end) 移除[beg,end)范围内的所有元素(有的容器返回没有移除的下一个元素)。
c.clear() 移除所有元素(使容器变为空)。
c.get_allocator() 返回容器的内存模型。
用数组的元素初始化容器:
int array[] = { 2, 3, 17, 33, 45, 77 };
...
//copy all elements of the array into a set
std::set<int> c(array,array+sizeof(array)/sizeof(array[0]));
通过标准输入初始化容器:
//read all integer elements of the deque from standard input
错误写法:
std::deque<int> c(std::istream_iterator<int>(std::cin),
std::istream_iterator<int>());
这表示:c声明一个函数,返回值类型是deque<int>,cin是第一个参数名,类型为istream_iterator
<int>,而第二个参数是无名参数,参数类型是不带参数、返回值类型为istream_iterator<int>的
函数,这显然不正确。
正确写法:
std::deque<int> c((std::istream_iterator<int>(std::cin)),
(std::istream_iterator<int>()));
不要忘记参数附近需要加上额外的括号。
- STL容器类
- STL容器类简介
- STL容器类异常
- STL容器类的继承
- STL标准容器类简介
- STL标准容器类简介
- STL标准容器类简介
- STL 容器类基本操作
- STL标准容器类简介
- STL容器类map学习
- C++ STL 容器类总结
- C++stl容器类使用
- STL 容器
- STL容器
- STL容器
- STL容器
- STL容器
- STL:容器
- DataSetCommand 对象读取以及更新数据的方式
- 网络的修复-内 存 故 障
- DataSet
- DataReader是什么?
- 数据库置疑的解决办法
- STL容器类
- DataAdapter 的批量更新
- Hibernate延迟加载的原理
- 容器之vector
- Visual C#中灵活使用DataView
- 状态栏
- .NET Framework 类库
- .NET Framework 类库
- 防盗链原理