次のコードは、を変更するデストラクタを利用していますi
。デストラクタが実行されると、リターン時にまだに2
格納されることになっています。i
thing()
-1
#include <stdio.h>
class Destruct {
int &i;
public:
Destruct(int &_i) : i(_i) {}
~Destruct() {
i = 2;
}
};
int thing() {
int i = -1;
Destruct d(i);
return i;
}
int main() {
printf("i: %d\n", thing());
}