[UE4] ラムダ式の基本的な書き方
【概要】
C++を書いていると、関数として定義する程でも無いが、普通に書くとコピペになってしまうような処理が出てくることがあります。
そういった場合、ラムダ式を使うことによって実装をスッキリさせることが出来ます。
よく書き方を忘れてしまうので、備忘録として書き残します。
【書き方】
UE4ではTFunctionRefを使い、以下のように記述します。
※std::functionでもTFunctionでも可。違いについては参考サイトを参照。
const int32 Value1 = 10;
//定義
TFunctionRef<float(const int32)> TestLambda = [&Value1](const int32 Value2)
{
return static_cast<float>(Value1 + Value2);
};
//呼び出し
float Result = TestLambda(1);
それぞれの項目の意味は以下のようになっています。
TFunctionRef<戻り値の型(引数の型)> TestLambda = [キャプチャリスト(ラムダ式の外から持ってきたい変数)](引数の変数定義)
キャプチャリストの詳しい記法に関しては、こちらのサイト様を参考にさせていただきました。
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html
【参考サイト】
こちらのサイト様を参考にさせていただきました。
https://usagi.hatenablog.jp/entry/2017/12/01/ac_ue4_2_p5
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html
Author And Source
この問題について([UE4] ラムダ式の基本的な書き方), 我々は、より多くの情報をここで見つけました https://qiita.com/ykobayashi0/items/4ece218f74316232e7eb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .