申し訳ありませんが、ポインターや配列などに関する質問が無数にあることは承知していますが、これは基本的なことですが、答えを指し示すもの (ハハ!) を見つけることができないようです。
メモリのチャンクを指すように初期化されたポインタがあります。配列と同じようにこのメモリにアクセスできることを理解しています。
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 番目の要素のアドレスを取得する代わりに、その要素以降のメモリ ブロックの内容を出力します。では、なぜ演算子のアドレスが期待どおりに機能しなかったのでしょうか? また、メモリの要素のアドレスを取得するにはどうすればよいでしょうか?