0

スコープ ガードは非常にC++的なイディオムです。例外との相互作用が良好で、RAII に準拠しています。C++には、スコープ ガードのネイティブ サポートはありません。つまり、きれいな構文です。現時点では、ヘルパー クラスしか記述できません。c-tor はラムダをデータ メンバーとして格納し、d-tor はラムダを呼び出します (スコープの終了時または例外スロー時)。

現在、 C++でのスコープ ガードの便利な構文の提案はありますか?

またはのようなものを意味します (デフォルトint * i = new int; ~[&i] { if (i) { delete i; i = nullptr; } }; ...でキャプチャを参照~{ /* statments */; }として) 。lambda-syntax が wi​​th のシンタックス シュガーにすぎstructないoperator ()場合、 anonymous の「インライン」デストラクタには lambda-similar-syntax が存在する可能性がありますstruct

4

0 に答える 0