Возможные дубликаты:
C ++: нулевая ссылка
Когда вызов функции-члена для нулевого экземпляра приводит к неопределенному поведению?
Есть ли в стандарте C ++ какой-либо раздел, показывающий, что NULL-ссылки некорректны?
Я пытаюсь показать моему лектору (это для задания, за которое меня оценивают), что следующее выражение - неопределенное поведение:
AClass* ptr = 0;
AClass& ali = *ptr;
std::cout << "\n" << (AClass*) &ali << '\n';
Нарушения, которые я вижу, это разыменование нулевого указателя, а затем ссылка на нулевую ссылку. В программе, которую он использует в качестве правильного примера, он сравнивает возврат ссылки на разыменованный указатель:
(AClass*) &ali != (AClass*) 0
В качестве теста на валидность объектов. Я видел это как совершенно неопределенное поведение; Я хочу найти цитату из стандарта, которая более конкретна для моего объяснения.
Если я не прав, то, пожалуйста, покажите, где я допустил ошибку.