Кто объяснит мне это bash-2.05b$ cat main.cpp #include <iostream> using namespace std; struct A { int i; A(int i):i(i) { cerr << "A(int i) "<< i << endl; } A():i(0) { cerr << "A" << endl; } ~A() { cerr << "~A " <<i << endl; } A(const A& a) { cerr << "A(const A& a)" << endl; } void f() { cerr << "f() " <<i << endl; } }; A b; main() { b.f(); b=A(1); b.f(); } bash-2.05b$ g++ main.cpp bash-2.05b$ ./a.out A f() 0 A(int i) 1 ~A 1 f() 1 ~A 1 bash-2.05b$