版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fuck51cto/article/details/80389901
本章将介绍标准库中的 vector、string 和 bitset 类型。
1. 命名空间的 using 声明
头文件中不应该使用using声明
2. 标准库 string 类型
string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。标准库 string 类型的目的就是满足对字符串的一般应用。
string的几种初始化方法:
string s1;
string s2(s1);
string s3("value");
string s4(10,'c');
3. 标准库vector
vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。
vector<int> ivec1(10,'a'); // 初始化
for (vector<int>::iterator ite = ivec1.begin(); ite!=ivec1.end(); ++ite) {
cout<<(char)*ite<<endl;
4. 迭代器简介
标准库为每一种标准容器(包括 vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的 vector 类型也是这样。
begin 和 end 操作
begin 返回第一个元素,end不指向任何元素
vector 迭代器的自增和解引用运算
解引用操作符(dereference operator)(*)用来访问迭代器所指向的元素:
*iter = 0;
++iter 指向下一个元素。
1. 命名空间的 using 声明
头文件中不应该使用using声明
2. 标准库 string 类型
string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。标准库 string 类型的目的就是满足对字符串的一般应用。
string的几种初始化方法:
string s1;
string s2(s1);
string s3("value");
string s4(10,'c');
3. 标准库vector
vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。
vector<int> ivec1(10,'a'); // 初始化
for (vector<int>::iterator ite = ivec1.begin(); ite!=ivec1.end(); ++ite) {
cout<<(char)*ite<<endl;
}
使用数组初始化vector
int int_arr[] = {0,1,2,3,4,5,6,7,8,9};
size_t arr_size = sizeof(int_arr) / sizeof(int);
vector<int> ivec(int_arr,int_arr+arr_size);
for (vector<int>::iterator ite = ivec.begin(); ite!=ivec.end(); ++ite) {
cout<<*ite<<endl;
}
//添加元素
ivec.push_bak(11);
4. 迭代器简介
标准库为每一种标准容器(包括 vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的 vector 类型也是这样。
begin 和 end 操作
begin 返回第一个元素,end不指向任何元素
vector 迭代器的自增和解引用运算
解引用操作符(dereference operator)(*)用来访问迭代器所指向的元素:
*iter = 0;
++iter 指向下一个元素。