C++ C++;如何使用参考向量

C++ C++;如何使用参考向量,c++,stdvector,reference-wrapper,C++,Stdvector,Reference Wrapper,我对reference_wrapper完全陌生,所以我需要一个非常简单的示例来理解 我声明两个向量: std::vector<int> vec; std::vector<std::reference_wrapper<int>> vec_r; std::向量向量向量机; 标准:向量向量; 我用一些值填充vec,然后我想让vec_r存储对vec的每个元素的引用,我想给vec_r赋值,以便修改存储在vec中的值。我应该怎么做?使用vec的内容初始化vec\r,使

我对reference_wrapper完全陌生,所以我需要一个非常简单的示例来理解

我声明两个向量:

std::vector<int> vec;
std::vector<std::reference_wrapper<int>> vec_r;
std::向量向量向量机;
标准:向量向量;

我用一些值填充vec,然后我想让vec_r存储对vec的每个元素的引用,我想给vec_r赋值,以便修改存储在vec中的值。我应该怎么做?

使用
vec
的内容初始化
vec\r
,使用适当的构造函数:

std::vector<std::reference_wrapper<int>> vec_r(begin(vec), end(vec));
std::向量向量(begin(vec),end(vec));
它之所以有效,是因为引用包装器是可构造的,并且可以从其包装的类型进行分配


但是,请注意,事后修改
vec
可能会使
vec\u r
中的所有内容无效。因此请小心操作。

使用
vec
的内容初始化
vec\r
,使用适当的构造函数:

std::vector<std::reference_wrapper<int>> vec_r(begin(vec), end(vec));
std::向量向量(begin(vec),end(vec));
它之所以有效,是因为引用包装器是可构造的,并且可以从其包装的类型进行分配


但是,请注意,事后修改
vec
可能会使
vec\u r
中的所有内容无效。因此,请小心行事。

您可以查看手册中的示例:您可以查看手册中的示例: