Как правильно обрабатывать связь Active-Record «один-ко-многим» между одной моделью и одной другой моделью, выбранной из группы?

Это синтаксически корректно, так как точка объявления переменной находится перед ее инициализатором, и имя доступно в любом месте после этой точки. Это позволяет менее изворотливые инициализации, такие как

void *p = &p;

, который на законном основании использует имя (но не значение) инициализированной переменной.

Это поведение неверно, поскольку использование значения Неинициализированный объект дает неопределенное поведение. Это не ошибка, требующая диагноза (так как в целом может быть сложно или невозможно проанализировать поток программы, чтобы увидеть, был ли объект инициализирован), но, как вы заметили, многие компиляторы выдают предупреждение для простых случаев, подобных этому .

0
задан taylorthurlow 3 March 2019 в 23:45
поделиться