ポインタについて誤解しているようです。
ここに例があります:(コードはコンパイルされないかもしれません、別のPC上にあります)
#include <iostream>
struct Debris{
long big_data;
//code
};
struct Explosion{
Debris *db;
//code
};
void test(){
Debris *db = new Debris();
db->big_data = 10000;
Explosion *e1 = new Explosion();
e1->db = db;
std::cout << "db addr:" << db <<"db value:"<< ++db->big_data <<<="" "explosion's="" db="" addr:"="" e1-="">db << "explosion's db value:" << e1->db->big_data << std::endl;
//why db and e1->db have different addresses?
//but the e1->db->big_data is changed by ref.
}
これを説明してもらえますか?前もって感謝します。