Primer c++笔记 第三章 标准库类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;

}

使用数组初始化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 指向下一个元素。

猜你喜欢

转载自blog.csdn.net/fuck51cto/article/details/80389901