2010-07-06

ラムダキャプチャーにはparameter packが使える

ラムダキャプチャーにはfunction parameter packが使える。もちろん、コピーキャプチャーも参照キャプチャーもできる。

template < typename ... Types > void g( Types ... args ) ;

template < typename ... Types >
void f( Types ... args )
{
    // 明示的なキャプチャー
    [args...]{ g( args... ) ; } ;
    [&args...]{ g( args... ) ; } ;

    // 暗黙的なキャプチャー
    [=]{ g( args... ) ; } ;
    [&]{ g( args... ) ; } ;   
}

こんなことは、わざわざ説明するまでもないだろうから、いま執筆中の本では書かないつもりであったが、どうも、念のために書いておいた方がいいかもしれない。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.