在「C++編程語言」一書中,作者給出了以下示例和幾個聲明。使用引用和指針爲運算符重載大對象
class Matrix {
double m[4][4];
public:
Matrix();
friend Matrix operator+(const Matrix&, const Matrix&)
};
Matrix operator+(const Matrix& arg1, const Matrix& arg2)
{
Matrix sum;
for (int i=0; i<4; i++)
sum.m[i][j ]=arg1.m[i][j]+arg2.m[i][j];
return sum;
}
書中聲稱,
引用允許涉及用於大型物體通常的算術運算符沒有過多的複製使用表達式。指針不能使用,因爲不可能重新定義應用於指針的操作符的含義。
我不明白上面的聲明中提到的「過度複製」是什麼。對於「指針不能使用,因爲不可能重新定義應用於指針的操作符的含義」的陳述,我完全失去了。感謝您的解釋。
實際上,該語言沒有用於添加2個指針的內置操作符。它也不允許程序員定義它。 – anatolyg
不,它只有一些有意義的運算符,比如減去兩個指針。 –