我正在使用STL元组实现一些变量的保存/恢复功能,具体如下:
这段代码运行良好。但是,与其在元组成员中显式指定类型,更好的方法是使用“类型提示”。
我希望您能够将所有tupleRef成员的引用移除,例如以下所示。
。
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;
这段代码运行良好。但是,与其在元组成员中显式指定类型,更好的方法是使用“类型提示”。
std::tuple<double, double, int> saved = tupleRef;
我希望您能够将所有tupleRef成员的引用移除,例如以下所示。
auto saved = remove_ref_from_tuple_members(tupleRef);
我相信可以编写“remove_ref_from_tuple_members”模板来实现这一目的。
感谢回答。
std::map
的意义)?赞美上帝,我竟然能够看到这样的时代! - Steve Jessoptuple_with_removed_refs
的两个实例都更改为tuple_with_removed_refs <T ...>
。 - M.M