2017-07-03 76 views
0

我對reference_wrapper完全陌生,所以我需要一個非常簡單的例子來理解。C++如何使用reference_wrapper向量

我聲明兩個載體:

std::vector<int> vec; 
std::vector<std::reference_wrapper<int>> vec_r; 

我填VEC與一些值,那麼我想vec_r到的引用存儲VEC的每個元素,並且我要分配值,以便修改值至vec_r存儲在vec中。我該怎麼辦?

+0

您可以查看手冊中的示例:http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper – Galik

回答

3

初始化vec_rvec內容,使用適當的構造函數:

std::vector<std::reference_wrapper<int>> vec_r(begin(vec), end(vec)); 

它的工作原理,因爲引用包裝從他們包裹型constructible和分配。

不過要注意的是,事後修改vec可以使vec_r中的所有內容無效。所以小心行事。