新しい演算子をより詳しく理解しようとしています。ヒープからメモリを割り当て、メモリへのポインタを返すという事実を理解しています。私の質問は、ポインタを取得し、それを使用して別の宣言された変数への別のポインタを格納すると、値のコピーまたはによって示される値はどのように発生するのかということです。だから例えば
変数を宣言します
int x = 4;
そして、言います
int* ptr = new int;
ptr = &x;
ptrは、ヒープからのメモリのチャンクを指します。xは、メモリの個別のチャンクを所有するスタックで定義されます。ptrとxのアドレスは同じです。ptrを削除しても、xはまだメモリに存在するため、有効です。* ptrと言うとき、ptrが指す値(この場合は4)を探しています。私の質問は4ですが、それはどこにありますか。それは2つの別々のメモリチャンクに存在しますか?1つはxで表され、もう1つはnewから取得したものです。プロセスはどのように行われますか?4は2つのチャンク間でどのように送信されますか、またはsthgがありませんか?助けてください。
また、ptr =&xと言うとき、それはビット単位のコピーです。言い換えると、ヒープを介してアクセスしたばかりのメモリを永久に失うのでしょうか。