C++ 如何将元素插入向量,而不是向量中已存在的元素?

C++ 如何将元素插入向量,而不是向量中已存在的元素?,c++,c++11,vector,C++,C++11,Vector,给定以下代码,如何将7插入到v1[0]而不是v1[0]中已经存在的值: std::vector<int> v1; v1.push_back(1); v1.push_back(3); std::cout << "The size of v1: " << v1.size() << std::endl; // output: 2 v1.insert(v1.begin(), 7); std::cout << "The size of v1:

给定以下代码,如何将
7
插入到
v1[0]
而不是
v1[0]
中已经存在的值:

std::vector<int> v1;
v1.push_back(1);
v1.push_back(3);
std::cout << "The size of v1:  " << v1.size() << std::endl; // output: 2
v1.insert(v1.begin(), 7);
std::cout << "The size of v1:  " << v1.size() << std::endl; // output: 3 (I want that it's will be "2")
std::cout << v1[0] << " ," << v1[1] << " ," << v1[2]; // 7 ,1 ,3
std::vector v1;
v1.推回(1);
v1.推回(3);

std::cout当您执行v1.insert(v1.begin(),7)
时,您只是在v1的开头插入一个元素。您不希望在插入元素后,元素的数量保持不变


我认为您想要的只是
v1[0]=7

您可能会误解
insert()
的功能。 如果执行
v1.插入(位置、值),您将在
位置插入
,并且
位置
之后
v1
内部的任何元素将向右移动一个位置

v1: 1,3
   ^
insert 7
这是您在代码中执行的操作。
您可能需要
v1[0]=7//v1[位置]=值
。这将
位置0处的元素更改为
7

可能
v1[0]=7?如果您小心使用该语言,标准API名称可能更有意义。“”表示“投入”;如果你把一个果冻豆放进一个已经有2个果冻豆的罐子,你会得到一个有3个果冻豆的罐子,类似于你的向量。所以“插入”不是你想在问题中使用的词。