Default initialization — ответ English version: https://teleg | Sea
Default initialization — ответ
English version: https://telegra.ph/Default-initialization--answer-01-30
Как вы уже наверное поняли, ответ другой.
Поскольку конструктор для Foo объявлен по умолчанию, он не является user-provided. Это означает, что Foo является агрегатным типом, а f.v инициализируется нулями. Однако Bar имеет пользовательский конструктор, хотя и созданный компилятором как конструктор по умолчанию. Поскольку этот конструктор не инициализирует явно Bar::v, b.v небезопасен для чтения, неопределенное поведение.
Interesting materials from C/C , Python, Go, Linux world and more by @sabbakumov | Интересные материалы из мира C/C , Python, Go, Linux и не только от @sabbakumov...