Czy możesz powiązać odniesienie do niezainicjowanego członka?

Krótkie pytanie brzmi następująco:

struct X
{
    A& x;
    A  y;
    X() : x(y) {}
};

Odwrócenie kolejności dwóch elementów w strukturze jest z pewnością w porządku, ponieważ gwarantujey jest zainicjowany jako pierwszy, ale czy to działa czy wywołuje UB?

Moreso, czy wszystko będzie w porządku:

struct X
{
   X& x;
   X() : x(*this) {}
};

?

questionAnswers(3)

yourAnswerToTheQuestion