Предоставляет ли компилятор сгенерированный оператор назначения против самоопределения?
class T {
int x;
public:
T(int X = 0): x(X) {}
};
int main()
{
T a(1);
a = a;
}
Всегда ли мне нужно защищать себя от самоназначения, даже если члены класса не имеют тип указателя?