Cpp ラムダ式のソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[C PlusPlus|C++]]に戻る <table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ ラムダ式</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> </tr> </table> ※このページでは[[C PlusPlus|C++]]にのみ存在する機能として、記事タイトルが<nowiki>C++ ラムダ式</nowiki>になっています。<br /> <br /> == '''ラムダ式''' == よくわからない名称の技術ですが、STL(Standard Template Liblary)のstd::sortやstd::foreachなどの引数としてプログラムそのものを記述することができる技術です。例えばsortの第三引数には、sortの手続きを行う関数名をしてする必要がありますが、ここにラムダ式を利用することができます。基本的な構造としては[](){}という構造のプログラムになり、[キャプチャ](プログラムの引数)->戻り値{プログラム本体}というような感じです。[](){}のそれぞれのカッコの中の全部が省略可能なので、引数まで省略すると[]{}というのがラムダ式としては最短の構造になります。これでは何にもしないラムダ式になってしまいます。 ラムダ式の何が便利なのか?sort関数を使ったことが無い人、sort関数を使う人でも関数を引数に指定するタイプの人には何の魅力もないものですが、C++11登場以降は、この記述方式を使うプログラマが増えているのも確かで、覚え泣ておかないと人の書いたプログラムが理解できないというポンコツな人になってしまいます。ややこしさレベルはC++の技術の中では関数ポインタに肩を並べるややこしさを持っています。従来の[]の意味は配列だったし->というえばアロー演算子、こういうイメージを持っている場合は全く理解にたどり着けません。先にも書きましたが *'''[キャプチャ](プログラム部に使う引数)->戻り値{プログラム本体} という、こういう構造をよく覚える必要があります。[]()->{}ですね。とんでもない記号にも見えてきます。 [[C PlusPlus|C++]]に戻る
テンプレート:記事名の制約
(
ソースを閲覧
)
Cpp ラムダ式
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ