zoukankan      html  css  js  c++  java
  • vector赋值

    用数组方式直接对vector赋值行不通。例如

    #include<iostream>
    #include<string>
    #include<vector>
    using namespace std;
    void main()
    {
    vector<string> a;
    a[0]="aaaaaa";
    a[1]="xxxxxx";

    cout<<a.size()<<endl;
    }

    会报错subscript out of range。

    用下标操作来插入是非法的,应该这样
    a.push_back("shui shuo mei ren le");
    a.push_back("lz22222");

    下标是修改不是插入,如果要用下标,需要保证初始化时候有足够的元素。因为一开始的时候你没有非vector分配足够的空间  resize 一下 好像就没有问题了....
    一般用push_back();

    两种方法解决,见注释

    #include<iostream>
    #include<string>
    #include<vector>
     
    using namespace std;
     
    void main()
    {
        vector<string> a;
     
        //a.resize(2);            // 1. 加这一行
        //a[0]="aaaaaa";
        //a[1]="xxxxxx";
     
        a.push_back("aaaaaa");    // 2. 或者这么写
        a.push_back("xxxxxx");
     
        cout<<a.size()<<endl;
    }

    在用vector时,增加元素通常用第二种方式。[]通常可以用来读取其中的元素,极少用于给其中的元素赋值

    版权声明:

  • 相关阅读:
    HTML学习 day04
    HTML学习 day03
    HTML学习 day02
    原生Js监听普通dom尺寸变化
    JavaScript-获取地址栏参数
    Window 下 MySQL 环境的安装
    JavaScript 中的12种循环遍历方法
    前端PS常用切图技巧
    requirejs教程(一):基本用法
    seajs教程(一):基本用法
  • 原文地址:https://www.cnblogs.com/walccott/p/4957119.html
Copyright © 2011-2022 走看看