tr1::reference_wrapper 有什么用?

2024-03-27

最近我读了斯科特·迈耶斯(Scott Meyers)的优秀著作有效的C++ https://rads.stackoverflow.com/amzn/click/com/0321334876书。在最后一篇技巧中,他介绍了 TR1 的一些功能 - 我通过 Boost 了解了其中许多功能。

然而,有一个我绝对不认识:tr1::reference_wrapper。

我如何以及何时使用 tr1::reference_wrapper?


据我所知,这就像 boost::ref 。基本上,可以复制的参考。当绑定到需要通过引用传递参数的函数时非常有用。

例如(使用 boost 语法):

void Increment( int& iValue )
{
    iValue++;
}

int iVariable = 0;
boost::function< void () > fIncrementMyVariable = boost::bind( &Increment, boost::ref( iVariable ));

fIncrementMyVariable();

这篇多布斯博士的文章 http://www.ddj.com/cpp/184401949有一些信息。

希望这是正确的,并且有帮助。 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tr1::reference_wrapper 有什么用? 的相关文章