Привет У меня есть простой код, как этотC++ указатели значение изменения
void func(int &x, int y, int* z){
int a = 3;
int b = 1;
cout << *z << endl;
x = *z + b;
cout << *z << endl;
y = *z + x;
z = &a;
cout << "func: x = " << x << endl;
cout << "func: y = " << y << endl;
cout << "func: *z = " << *z << endl;
cout << "func: a = " << a << endl;
cout << "func: b = " << b << endl;
return;
}
int main(){
int a = 2;
int b = 4;
func(b, a, &b);
cout << "main: a = " << a << endl;
cout << "main: b = " << b << endl;
return 0;
}
И выход я получаю
4
5
func: x = 5
func: y = 10
func: *z = 3
func: a = 3
func: b = 1
main: a = 2
main: b = 5
Так что мой вопрос, по какой причине значение * изменения г после x = *z + b
, потому что Я не могу понять это сам.
Спасибо заранее
Спасибо :) Теперь я получил это :) – Bankin