Нет, это POD по сути
А с POD-ами так можно делать
Только не POD как раз. POD = SLT | Trivial, но для pointer-interconvertibility между объектом и первым полем нужны только требования лейаута, которые все еще удовлетворяются. Тривиальности же здесь нет из-за инициализатора по умолчанию.
Нормативно POD вытерли в C++20, как раз разбив его на упомянутые два (сам POD в итоге оказался не нужен в таком виде - даже трейт под него депрекейтнули).
Я считал, что в с++11...
UB
UB не существует
Обсуждают сегодня