我正在經歷一些C++賦值運算符的理論。C++中的運算符重載如何工作
比方說
class MyClass {
private:
T1 member1;
T2 member2;
public:
// The default copy assignment operator which assigns an object via memberwise copy
MyClass & operator=(const MyClass & rhs) {
member1 = rhs.member1;
member2 = rhs.member2;
return *this;
}
......
}
和
c7 = c6; //member wise copy assignment.
在這裏,我們正在返回賦值操作過程中參照對象,併爲其分配新的對象c7
。
但是,如果我在我的代碼是有點像這樣:
int a=12;
int &b=a;
int c=&b; //error::invalid conversion from ‘int*’ to ‘int’
這是爲什麼從上述情況不同?
@Pileborg你能簡單地解釋在操作員分配的情況下會發生什麼嗎?謝謝。 – starkk92
@ starkk92看到我更新的答案。 –