// ムーブ
Integer( Integer && r )
: ptr( r.ptr )
{ r.ptr = nullptr ; }
Integer operator =( Integer && r )
{
delete ptr ;
ptr = r.ptr ;
r.ptr = nullptr ;
return *this ;
}
上記のコードが掲載されていますが、上記実装だと自身のコピーを返してしまいます。
正しくは Integer & operator =( Integer && r ) ではないでしょうか?