3.1 Assignment Operator for String
const String & String::operator = ( const String
& Value )
{
const int Len = strlen( Value.Buffer
);
if( this != &Value
) // Don't copy to yourself.
{
if( Len >= Buffer_Len)
{
delete [ ] Buffer;
getBuffer( Len );
}
for( int i = 0; i < Len; i++ )
Buffer[ i ] = Value.Buffer[ i ];
Buffer[ i ] = '\0';
}
return *this;
}
QUESTION: Why disallow assignment to yourself?
ANSWER:
?