Colocação nova e atribuição de classe com membro const
Por que esse comportamento indefinido?
struct s
{
const int id; // <-- const member
s(int id):
id(id)
{}
s& operator =(const s& m) {
return *new(this) s(m); // <-- undefined behavior?
}
};
(Citação do padrão seria bom).
Esta questão surgiu deesta resposta.