zoukankan      html  css  js  c++  java
  • STL迭代器之向量

    当使用输入迭代器的时候,也就是直接用迭代器(指针)输入的时候一定要指定容器的大小,否则在运行时出错。可能是不指定大小就不好分配地址,就会出错吧。这都是我自己的一些猜想,很可能是错的,或不严谨。

    但是在使用容器的成员函数进行写入、插入时就可以不指定向量容器大小。例如iVect.push_back(520)。

    #include<iostream>
    #include<vector> //包含STL向量模板头文件
    #include<algorithm> //包含STL算法头文件
    using namespace std;
    //如果不声明命名std空间那么endl就必须写成std::endl;
    //向量的定义就是std::vector<int> iVector;这就是命名空间的作用

    void Display(int val)
    {
    cout<<val<<'\t';
    }
    int main()
    {
    vector<int> iVect(4); //当不指定向量的大小的,会在运行时出错
    vector<int>::iterator it = iVect.begin();
    *it++ = 5;
    *it++ = 2;
    *it++ = 0;
    *it = 1314;
    for_each(iVect.begin(), iVect.end(), Display); //这是STL算法中的一个函数相当于一个循环语句
    return 0;

    }

    #include<iostream>
    #include<vector> //包含STL向量模板头文件
    #include<algorithm> //包含STL算法头文件
    using namespace std;
    //如果不声明命名std空间那么endl就必须写成std::endl;
    //向量的定义就是std::vector<int> iVector;这就是命名空间的作用

    void Display(int val)
    {
    cout<<val<<'\t';
    }
    int main()
    {
    vector<int> iVect(4); //当不指定向量的大小的,会在运行时出错
    iVect[0] = 5;
    iVect[1] = 2;
    iVect[2] = 0;
    iVect[3] = 1314;

    for_each(iVect.begin(), iVect.end(), Display); //这是STL算法中的一个函数相当于一个循环语句
    return 0;
    }

  • 相关阅读:
    阿里巴巴2018秋招面经之前端岗(1~5面)
    面试分享:2018阿里巴巴前端面试总结(题目+答案 30题)
    2018年各大互联网前端面试题三(阿里)
    阿里巴巴2016前端工程师面试题
    2016 阿里校招笔试前端题目,你还记得吗?
    2018阿里前端校招分享(笔试篇)
    2017 阿里校招前端笔试题小结
    阿里2018校招编程题
    ko.js学习一
    简单的3d变换
  • 原文地址:https://www.cnblogs.com/emptyYPen/p/5928322.html
Copyright © 2011-2022 走看看