Возможна ли пустая ссылка?

Допустим ли этот фрагмент кода (и определенное поведение)?

int &nullReference = *(int*)0;

И g ++, и clang ++ компилируют его без предупреждения, даже при использовании -Wall , -Wextra , -std = c ++ 98 , -pedantic , -Weffc ++ ...

Конечно, ссылка на самом деле не нулевая, поскольку к ней нельзя получить доступ (это означало бы разыменование нулевого указателя), но мы могли бы проверить, null или нет, проверив его адрес:

if( & nullReference == 0 ) // null reference
90
задан BartoszKP 28 February 2017 в 21:41
поделиться