相关疑难解决方法(0)

从std :: tuple成员中删除引用

我在stl元组的帮助下为一些变量实现了保存/恢复功能,如下所示:

double a = 1, b = 2;
int c = 3;
auto tupleRef = std::make_tuple(std::ref(a), std::ref(b), std::ref(c));

// here I'm saving current state of a, b, c
std::tuple<double, double, int> saved = tupleRef;

//here goes block of code, where a, b, and c get spoiled
......................
//

//now I'm restoring initial state of a, b, c
tupleRef = savedTuple;
Run Code Online (Sandbox Code Playgroud)

这段代码效果很好.但不是明确指定元组成员类型

std::tuple<double, double, int> saved = tupleRef;
Run Code Online (Sandbox Code Playgroud)

我想宁愿删除所有tupleRef成员的引用,如下所示

auto saved = remove_ref_from_tuple_members(tupleRef);
Run Code Online (Sandbox Code Playgroud)

我相信可以为此编写"remove_ref_from_tuple_members"模板.

谢谢你的回答.

c++ tuples std visual-studio-2010

4
推荐指数
1
解决办法
1753
查看次数

标签 统计

c++ ×1

std ×1

tuples ×1

visual-studio-2010 ×1