int var = 5;
int *intptr = &var;
int *intptr1 = intptr;
std::cout << "adress of var : " << intptr << std::endl; //0x00EFFB05
std::cout << "adress of var : " << &var << std::endl; //0x00EFFB05
std::cout << "value of var : " << var << std::endl; // 5
std::cout << "value of var : " << *intptr << std::endl; // 5
std::cout << "adress of intptr: " << &intptr << std::endl; //0x00EFFB44
std::cout << "adress of var : " << intptr1 << std::endl; //0x00EFFB05 /In my unterstanding, the adress of intptr should be here, instead we have the adress of var
В строке, где я назначаю "var" указателю "intptr", адрес var становится значением указателя.
В строке, где я присваиваю свой указатель «intptr» указателю «intptr1», адрес «intptr» не становится значением «intptr1», но вместо этого ЗНАЧЕНИЕ «intptr» становится значением «intptr1», который является адресом var.
1: Почему это изменение логики при назначении указателя на указатель?
2: И как мне сохранить адрес "intptr" в "intptr1" ?