Рассмотрим:
int* ptr = (int*)0xDEADBEEF;
cout << (void*)&*ptr;
Насколько незаконным является *
, учитывая, что он используется в сочетании с непосредственным &
и при условии, что в игре нет перегруженного op&
/op*
?
(Это имеет особые последствия для адресации элемента массива &myArray[n]
, который явно эквивалентен &*(myArray+n)
. Этот Q & A обращается к более широкому случаю, но я не чувствую, что он действительно удовлетворял вышеупомянутый вопрос.)