我知道我们可以对内在数据类型应用递增和递减,例如:
int a;
a++;
a--;
...ETC。
但是,在下面的代码中,如果我&
在行中省略operator int& ( ) { return value; }
,我会得到一个编译错误。请在此处解释如何以及为什么使用&
使增量成为可能:
#include <iostream>
class Foo {
public:
int value;
operator int& ( ) { return value; }
};
int main ( ) {
Foo p;
p.value = 10;
p++;
std::cout << p << std::endl;
std::cin.get ( );
return 0;
}