一度だけ初期化する処理をstaticとラムダで行う(C++)

以下のソースはある機能が利用可能かの状態を返す。一度だけ初期化するのでstaticとラムダ関数で行っている。

最初に呼ばれたときはラムダ関数を実行し、次からはstatic変数の値を返す。

ラムダ式

ラムダ式の戻り値はreturnから自動で推論される。この場合はboolになる。

スレッド

C++11でstatic変数のスレッドセーフが保証されたので、上記ラムダ式が2度動くことはない。

ソースコード

https://github.com/ambiesoft/blogprogs/tree/master/5075/src

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)