小编Jam*_*rts的帖子

分配std :: vector元素的两种方法

据我所知,可以通过std::vector两种方式将元素分配给a :

vec[i] = value

vec.push_back(value)

但是,第一种方法似乎没有作用vec.size(),并且随后的调用也将其覆盖vec.push_back()。一个最小的例子来演示:

#include <iostream>
#include <vector>

int main()
{
    std::vector<unsigned char> things;
    things.reserve(2);

    things[0] = 'a';
    std::cout << "Size after inserting a: ";
    std::cout << things.size() << std::endl;

    things.push_back('b');
    std::cout << "Size after inserting b: ";
    std::cout << things.size() << std::endl;

    std::cout << "Contents: ";
    for (int i=0; i<2; i++)
    {
        std::cout << things[i] << std::endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出为:

Size after inserting a: 0
Size after inserting …
Run Code Online (Sandbox Code Playgroud)

c++ vector

0
推荐指数
2
解决办法
94
查看次数

标签 统计

c++ ×1

vector ×1