C++ C+中的下标运算符异常+;
我最近偶然发现了以下观察结果。 重载时,操作数中的一元++运算符位于运算符之前或之后,如下所示C++ C+中的下标运算符异常+;,c++,C++,我最近偶然发现了以下观察结果。 重载时,操作数中的一元++运算符位于运算符之前或之后,如下所示 void operator++(int y) { x++; } 或 但是当重载下标运算符时,操作数被放置在运算符之间 int &operator[](float i) { return x[int(i)]; } 请帮我得出一个结论 void operator++(int y) 是编译器用于区分此后缀运算符与前缀版本的约定 在这种情况下,y只是一个伪变量,您可
void operator++(int y)
{
x++;
}
或
但是当重载下标运算符时,操作数被放置在运算符之间
int &operator[](float i)
{
return x[int(i)];
}
请帮我得出一个结论
void operator++(int y)
是编译器用于区分此后缀运算符与前缀版本的约定
在这种情况下,y
只是一个伪变量,您可以省略名称,将后缀定义为void operator++(int)
另一方面
int &operator[](float i)
是不同的运算符,此处的
浮点值
用作实参数(没有前缀/后缀运算符[]
) …语法就是这样的<代码>操作员后跟操作员的“名称”。还有什么不可以得到的?关于什么的结论?我想他对x
也可以增加和索引的事实感到困惑。但事实上,他的问题并不十分清楚。
void operator++()
int &operator[](float i)