【发布时间】:2020-09-03 11:25:25
【问题描述】:
我想通过重复每个条目三次来扩展给定向量。例如,如果向量是[5,7]。输出向量应该是[5 5 5 7 7 7]
#include<iostream.h>
#include<vector.h>
int main(void)
{
std::vector<int> x;
x.push_back(5);
x.push_back(7);
x.insert(x.end(), x.begin(), x.begin() + 1);
return 0;
}
这没有成功。任何帮助将不胜感激。
【问题讨论】:
-
从
.h后缀来看,您使用的是过时的C++ 编译器吗?推荐:Why doesn't a simple “Hello World”-style program compile with Turbo C++? -
谢谢,我去看看。忽略这一点,插入函数是否正确编写以达到目的?谢谢
-
不幸的是,插入行具有未定义的行为,因为
x.begin()和x.begin() + 1是向量本身的迭代器。请参阅documentation。 -
创建一个新向量而不是修改现有向量会更简单、更高效
-
@Damien 我同意。什么是更清洁的方法来完成这项工作?
标签: c++