-5
#include <conio.h>
#include <iostream>
using namespace std;
class A {
    int i;
public:
    A(int i) : i(i) { cout << i << endl; }
    A(const A &o) : i(o.i) { cout << i << endl; }
    ~A() { cout << i << endl; }
    friend A f(const A &, A, A *);
};
A f(const A &a, A b, A *c) { return *c; }
int main() { 
    f(1, A(2), &A(3));
}

output : 1 3 2 3 2 3 3 1
誰かがこの出力のシーケンスの背後にある理由を理解するのを手伝ってくれますか?

4

1 に答える 1