修改元组向量中的元组 C++
Modifying a tuple in a vector of tuples c++
我有一个元组向量 vector<tuple<int,int>> vector;
,我想修改其中包含的一个元组。
for (std::tuple<int, int> tup : std::vector)
{
if (get<0>(tup) == k)
{
/* change get<1>(tup) to a new value
* and have that change shown in the vector
*/
}
}
我不确定如何更改元组的值并将更改反映在向量中。我试过使用
get<1>(tup) = v;
但这不会更改向量中元组的值。我怎样才能做到这一点?谢谢
您只需要在 for 循环中使用引用而不是值:
for (tuple<int, int>& tup : vector){
通过引用捕获 tuple
:
for (tuple<int, int> &tup : vector){
// ^here
if (get<0>(tup) == k){
get<1>(tup) = v;
}
}
我有一个元组向量 vector<tuple<int,int>> vector;
,我想修改其中包含的一个元组。
for (std::tuple<int, int> tup : std::vector)
{
if (get<0>(tup) == k)
{
/* change get<1>(tup) to a new value
* and have that change shown in the vector
*/
}
}
我不确定如何更改元组的值并将更改反映在向量中。我试过使用
get<1>(tup) = v;
但这不会更改向量中元组的值。我怎样才能做到这一点?谢谢
您只需要在 for 循环中使用引用而不是值:
for (tuple<int, int>& tup : vector){
通过引用捕获 tuple
:
for (tuple<int, int> &tup : vector){
// ^here
if (get<0>(tup) == k){
get<1>(tup) = v;
}
}