Ответ 1
В момент захвата g
по ссылке он был объявлен, поэтому имя доступно для использования:
3.3.2/1 Точка объявления для имени сразу после его полного объявления (раздел 8) и перед его инициализатором
Вам разрешено использовать объекты ограниченным образом до их инициализации - в основном, все, что не зависит от значения, ОК:
3.8/6 до начала жизни объекта, но после хранения, которое будет занимать объект было выделено [...] любое значение gl, которое ссылается на исходный объект, может использоваться, но только в ограниченных пути. [...], используя свойства glvalue, которые не зависят от его значения, четко определен.
Итак, по моему пониманию, то, что вы делаете, четко определено.
(Хотя, будучи ультраэваптическим, я не думаю, что он был указан при размещении хранилища для автоматического объекта, а в 8.3.2/5 говорится, что "ссылка должна быть инициализирована для ссылки на действительный объект" без определения "valid", поэтому можно утверждать, что оно не определено).