C++ 之标准库类型—— vector 容器

C++ 之标准库类型—— vector 容器


标准库类型vector表示对象的集合,其中所有对象的的类型都相同。集合中的每对象都有一个与之对应的索引,索引用于访问对象。因为 vector “容纳”着其他对象,所以他也常被称为容器(container).
注意需要有包含有头文件,如果做上了using 就更好了,如下:

#incldue<vector>
using std::vector;

说实话,一开始的时候,我接触到这个vector这个概念是完全懵逼的,再看书上的实例也是晕晕的,但是等我做完课后题后,突然就恍然大悟了。

定义和初始化vector 对象

dog vector支持的操作
v.empty() 若其中不含有任何元素,返回真,否则假
v.size() 返回其中个数
v.push_back(t) 向V的尾端添加元素
v[n] 返回第n个位置上的值的引用
v1 =v2 用V2中元素拷贝替换v1中的元素
v1 = {a,b,c…} 用列表中的元素拷贝替换V1中的元素
v1 == v2 数量相同 对应位置相同  布尔型
v1 != v2 同上   布尔型
<, <=,>,>= 以字典序进行比较

以下代码演示,vector内的,定义,声明,索引(),添加(push_back)

//作用为向容器中添加字符串,遇“123”停止,然后打印他们,在进行所有字符串的遍历,转化为大写字母
#include<iostream>
#include<string>
#include<vector>

using namespace std;
int main ()
{
    string  str;
    vector<string>  svec;
    while (cin >> str && str != "123"){
        svec.push_back(str);    //向容器中添加元素的时候不能使用下标是的形式
    } 
    for(int i=0; i< svec.size(); i++){
            cout << "those are "  <<svec[i] << endl;
    }
    for (auto ptr : svec ){
        for  (auto &c : ptr){
            c = toupper(c);
        }
        cout << ptr <<endl; 
    }
}

私以为,这个vector 给我的感觉就像是里面的动态数组,但与之相比,vector 更高级更好用,一开始的时候见到这个容器的概念,确实懵逼,但当我看清楚他一点点的本质之后就能有所了解了。

猜你喜欢

转载自blog.csdn.net/holy_666/article/details/78458250
今日推荐