如何避免std :: reference_wrapper在std :: make_tuple中丢失为普通引用?

时间:2012-10-26 12:40:25

标签: c++ c++11 tuples reference-wrapper

我正在尝试正确地为对象生成std::reference_wrapper s元组。通过使用shown here技术,我设法将std::ref函数映射到所有原始元组,但是,根据this(实际上它已经发生),std::reference_wrapper s 在此过程中衰减到普通参考(&)。有办法避免这种情况吗?我有一整套接受std::reference_wrapper s元组的函数,我宁愿不改变它们来使用引用。

由于

2 个答案:

答案 0 :(得分:0)

完成

就足够了
tuple<reference_wrapper<T>...> = /* my tuple of references */;

答案 1 :(得分:0)

如果可以更改包装器类型,则使用boost::reference_wrapper / boost::ref可以解决此问题。