std::unique_ptr、ちゃんと使っていますか? ただ必要に応じてdeleteするだけでなく、デリータを自作することでscoped guardを実現することもできる素晴らしいクラスですが、scoped guardの思想を体現するには惜しい部分があります。 それは管理する型pointerに対して必要以上の要求を課すこと、すなわちnullable pointerを要求することです。 これのせいで、何かリソースやハンドルなどポインタで定義されないものをstd::unique_ptrで管理することはできません。せっかくカスタマイズできるのに。 nullable pointerは以下を満たす必要があります。 ・EqualityComparable ・DefaultConstructible ・CopyConstructible ・CopyAssignable ・Destructible 加え