2016-11-18 11 views
0

誰かが私にこのコードを何段階説明してくれますか?私はこのトピックでそれを見つけた:Segmentation fault on gcc caused by lambda wrapper over variadic template function callと私は何も理解していません。C++コードに関するいくつかの説明(ラムダラッパーとvariadicテンプレート)

template <typename TNode, typename... TNodes> 
auto execute(TNode& n, TNodes&... ns) 
    {  
     [&](){ n.execute(ns...); }(); 
    } 

特に一部:[&](){ n.execute(ns...); }();

CAMLやOCamlのようなラムダ計算とプログラム書き込みの言語に任意の接続はありますか?

この部分[&](){ n.execute(ns...); }();は、新しいラムダを作成し、それを直接実行事前

答えて

1

でいただきありがとうございます。それは以下のようになります。

auto temp= [&](){ n.execute(ns...); }; 
temp(); 

この部分n.execute(ns...);は種類の多くのパラメータ(可変長テンプレート引数)TNodes...

を受け入れ TNode::executeと呼ばれるメンバ関数を呼び出しています
関連する問題