0
点赞
收藏
分享

微信扫一扫

1.8 STL、位运算、常用库函数

文章目录

一:STL

1:vector的三种遍历方式。


#include<iostream>
#include<vector>
using namespace std;

int main()
{
    vector<int>a({1,2,3});
    
    for(int i=0;i<a.size();i++)cout << a[i]<<' ';//和数组一样的遍历方式
    cout << endl;
    
    for(auto i=a.begin();i!=a.end();i++) cout << *i<< ' ';//使用迭代器遍历,迭代器相当于地址。
    cout << endl;
    
    for(int x:a)cout << x << ' ';//和string一样
    cout << endl;
    
    return 0;
}

2:vector中的auto函数:(重点)

(1):让编译器自己去推断类型,并且遍历

在这里插入图片描述定义了一个x变量,但是不确定什么类型,为了方便,就用auto,让编译器自己去猜,x:a 是把a中的元素遍历并送到x中。通过结果也可以看出来,输出的是1234。 证明 x : a 确实是遍历了,把a中的元素送到了x里面。

(2)为了验证猜想,用最简单的int型数组试验一下。

如果auto是类型,那么 冒号:才代表遍历
经过尝试:
在这里插入图片描述

得出结论,为什么auto和冒号: 经常在一起使用,原因可能就是遍历的时候为了方便,不用去考虑类型了,只用把冒号后面想要遍历的一个字符串或者数组或者其他的类型,遍历到冒号前面的变量中,就不用自己再去判断类型了,很方便。
换个类型也一样

(3)试试double类型能否实现遍历

在这里插入图片描述

(4)试试long long 类型

在这里插入图片描述

(5)结论:auto只是为了让编译器自己识别数据类型,常与冒号一起使用,实现遍历,其他数据类型也可以,但是必须准确。

3:push_back()

在这里插入图片描述
在尾部插入一个元素

4:pop_back()

删除vector a的最后一个元素
在这里插入图片描述
调用两次:
在这里插入图片描述

举报

相关推荐

0 条评论