エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C++ : ラムダ式のみでの再帰文 - Qiita
int main() { std::function<void(int)> hoge = [&hoge](int i) { if(i == 5) return ; printf("%d", i)... int main() { std::function<void(int)> hoge = [&hoge](int i) { if(i == 5) return ; printf("%d", i); hoge(++i); }; hoge(0); } 重要なのはどうキャプチャするか。 [=]での代入だと、初期化が完了していない段階でキャプチャするのでnullを代入することになり、 ラムダ内での自身の呼び出しに失敗する。 正解は[&]での参照で自身をキャプチャする方法。 こうすることでラムダのみで再帰を実現することが出来ます。 以下おまけ。