On 4 Aug 2021, at 16:48, Jens Maurer via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On 04/08/2021 15.48, Arthur O'Dwyer wrote:On Wed, Aug 4, 2021, 9:31 AM Jens Maurer via Std-Proposals <std-proposals@lists.isocpp.org <mailto:std-proposals@lists.isocpp.org>> wrote:In the interest of clarity, the shortest generic scope guard usingstd::unique_ptr that I've come up with so far is:template<class X>using scope_guard = std::unique_ptr<void, X>;void f(){scope_guard guard(0, [](void*) { std::cout << "hi"; });}This is pretty neat, actually! But are you sure that unique_ptr calls its deleter when it holds nullptr? I think you need to replace `0` with `&guard`,
Yes, I guess that's correct.You could save one more character by changing `void*` to `auto`.
Yes.
Jens
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals