Почему такое неопределенное поведение?
struct s
{
const int id; // <-- const member
s(int id):
id(id)
{}
s& operator =(const s& m) {
return *new(this) s(m); // <-- undefined behavior?
}
};
(Цитата из стандарта была бы хороша).
Этот вопрос возник из этого ответа.
const int id;
говорит, что значениеid
никогда не изменится. А потом поменяете? - person Bo Persson   schedule 24.11.2017const
применяется только к сроку службы объекта. - person Passer By   schedule 24.11.2017const
, потому что я не знаю, timsong-cpp.github.io/cppwp/basic.life#10 кажется применимым. - person Rakete1111   schedule 24.11.2017const
объектов, а не объектов сconst
элементами, не так ли? - person YSC   schedule 24.11.2017[basic.life]/9
, он явно говорит, что все в порядке? - person YSC   schedule 24.11.2017