我一直在阅读类运算符并遇到以下示例:
class Array {
public:
int& operator[] (unsigned i) { if (i > 99) error(); return data[i]; }
private:
int data[100];
};
这是否意味着我可以用我想要的任何东西替换
[
和 ]
?例如,我可以使用括号吗?另外,
int& operator[]
中&符号的意义是什么?稍微不那么重要的一点是,使用
int& operator []
而不是 int& operator[]
在语法上是否正确? 最佳答案
不!并非所有运营商 can be overloaded 。
你可以,但你不应该。
这意味着您将 reference 返回给 int
变量。
两者没有区别。