Мои извинения, я знаю, что есть миллион вопросов об указателях, массивах и т. Д., Хотя я и не могу найти ничего, что указывало бы (ха-ха!) На ответ.
У меня есть указатель, который инициализирован, чтобы указывать на кусок памяти, я понимаю, что могу получить доступ к этой памяти подобно тому, как я бы сделал массив:
char *mMem=new char[5000];
cout<<mMem[5]<<endl;
Что на самом деле:
char *mMem=new char[5000];
cout<<*(mMem+5)<<endl;
Однако я не понимаю, как получить адрес элемента - я знаю, что элемент не совсем верное слово, учитывая, что mMem не является массивом - это если мой понимание правильное, хотя и не может быть слишком уверенным, потому что кажется, что каждый сайт использует любые слова, которые он хочет, когда дело доходит до указателей и массивов. Итак, если у меня есть:
char *mMem=new char[5000];
cout<<mMem[5]<<endl;
or
cout<<*(mMem+5)<<endl;
почему адрес оператора не работает правильно:
cout<<&mMem[5]<<endl;
Вместо того, чтобы получить адрес 5-го элемента, я получаю распечатку содержимого блока памяти с этого элемента и далее. Итак, почему адрес оператора не работал так, как я ожидал, и как я могу получить адрес элемента памяти?