ラムダキャプチャーには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