On 16 Nov 2011, at 23:58, Marc Glisse wrote: > The following has to work if you want to be able to use your type in general contexts (maybe even just to put it in a std::vector): > mpz_class x; > mpz_class y=std::move(x); > x=42; There is no overhead allowing this (in the pi program). After the move, do a mpz_init(). Hans