江添本写経scope_exit

写経中にstd::scope_exitというものが出てきたが、(本が書かれている時点ではC++20に公式に取り込まれる予定だったみたいだが)C++20ではまだ取り込まれていない模様。

experimental/scopeというとこで実験的に入っているっぽい。

#include <experimental/scope>してstd::experimental::scope_exitすると使える模様。

experimentalなので何かあるかもしれないが写経はこれで使ってみる。

#include <iostream>
#include <experimental/scope>

void example() {
    auto cleanup = std::experimental::scope_exit([] {
        std::cout << "Scope exited.\n";
    });

    std::cout << "Doing work inside the scope.\n";
}

int main() {
    example();
    return 0;
}

な感じ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です