On Tue, Mar 07, 2023 at 09:54:08PM +0000, Jonathan Wakely via Gcc-patches wrote: > On Tue, 7 Mar 2023 at 21:52, Alexander Monakov wrote: > > > > > > On Tue, 7 Mar 2023, Jonathan Wakely wrote: > > > > > > Shouldn't this use the idiom suggested in ansidecl.h, i.e. > > > > > > > > private: > > > > DISABLE_COPY_AND_ASSIGN (auto_mpfr); > > > > > > > > > Why? A macro like that (or a base class like boost::noncopyable) has > > > some value in a code base that wants to work for both C++03 and C++11 > > > (or later). But in GCC we know we have C++11 now, so we can just > > > delete members. I don't see what the macro adds. > > > > Evidently it's possible to forget to delete one of the members, as > > showcased in this very thread. > > But easily caught by review. > > > The idiom is also slightly easier to read. > > That's a matter of opinion, I prefer the idiomatic C++ code to a SHOUTY MACRO.
FWIW, I'd also prefer to see the explicit =deletes rather than having to go look up what exactly the macro does. Marek