>>108
そいつは永久ループに入ります。
やるとすればこういう風にしないと。

#include <iostream>
#include <new>

class A {
const int i;
public:
A(int j = 0) : i(j) {}
A(const A& a) : i(a.i) {}
A& operator=(const A& a) {
new (this) A(a.i);
return *this;
}
void printi() const {
std::cout << "i = " << i << std::endl;
}
};

int main()
{
A a(123), b;

b = a;
a.printi();
b.printi();
}