一个关于赋值函数的小问题?
//赋值函数实现如下
String & String::operator = (const String &other)
{
if(this==&other)
return *this;
delete [] m_data;
int length = strlen(other.m_data);
m_data = new char[length+1];
strcpy(m_data,other.m_data);
return *this;
}
问题:1)this是什么?
2)if(this==&other) 这句我不太懂,书上讲是检查自赋值。
自赋值是什么意思?什么情况下会出现这种情况?这种可能性大不大?
向每一位回帖的同志致以崇高的敬意,并祝你今天快乐,明天我管不着了:)