私はゼロのルールを研究しており、ルールを示す最後のコードについて 2 つの質問があります。
class module {
public:
explicit module(std::wstring const& name)
: handle { ::LoadLibrary(name.c_str()), &::FreeLibrary } {}
// other module related functions go here
private:
using module_handle = std::unique_ptr<void, decltype(&::FreeLibrary)>;
module_handle handle;
};
- ハンドルを初期化するために括弧の代わりに中括弧を使用するのはなぜですか?
- module_handle = std::unique_ptr; を使用するとどうなりますか? この文脈で正確に意味するのは? それをtypedefに置き換えることは可能でしょうか?