Обращение к неинициализированным полям класса/структуры с++
Есть структура:
struct MyS
{
int ini = 256;
int not_ini;
};
Теперь я вывожу поля этой структуры.
1 случай:
int main()
{
MyS a;
cout << a.ini << endl << a.not_ini;
}
2 случай:
MyS a;
int main()
{
cout << a.ini << ',' << a.not_ini;
}
1 случай компилятор (msvc) даже не даст нам скомпилировать, т. к. он влечет за собой неопределенное поведение. А что начёт второго случая? Компилятор то скомпилирует его и на вывод мы получим 0. Стоит ли так делать и является ли это безопасным с точки зрения стандарта?