【发布时间】:2020-03-23 12:41:38
【问题描述】:
考虑一个常量向量v1
const std::vector<int> v1{0, 1, 2, 3, 4};
我想创建一个新的 const 向量 v2,其中包含向量 v1 的内容,附加值如下:
const std::vector<int> v1{0, 1, 2, 3, 4};
const std::vector<int> v2{v1, 5, 6, 7, 8, 9};
我该怎么做?
【问题讨论】:
-
创建一个临时向量,构建它的内容,然后用它来构建
v2。或者,定义并实现一个自定义迭代器类,它迭代v1的所有内容和新值,并使用std::vector构造函数,它是一个模板,它采用由开始和结束迭代器定义的序列。 -
我目前有一个函数,它结合了
v1和附加值并返回一个新的向量来构造,但我想问是否有更优雅的解决方案来解决这个问题 -
C++ 库中没有这方面的内容。
-
这也是我的猜测,但我不太确定
-
我确信 C++ 库中没有这样的东西的原因是因为这样的事情只能通过两种方式完成。 1)一个专用的向量构造函数,我很确定没有; 2) 我很确定 C++ 语言语法和句法的基本部分不存在。没有其他可能。