int a=10;
int &b = a;
위와 같이 되면 a,b 주소값은 같고 a, b 중 어느 값이 변하면 모두 값은 값으로 변합니다.
int *p = &a;
위와 같은 경우 p는 int *형 이므로 int 형 주소값을 담기에 a의 주소값을 나타내는 &를 대입한다고 논리적으로 이해되었는데
int &b = a;
이와 같은 경우는 b는 int & 형이므로 int형 주소 연산자 &를 담기에 주소값이 아닌 int 형 변수 a가 대입되는지 이해가 안됩니다.
int &b = &a; 가 논리적으로 맞지 않나 싶습니다.
int &b = a; 를 하게되면 컴퓨터 내부적으로 어떤 작용을 하길래 a,b가 같은 주소값을 가지고 같이 변하는지 알려주시면 감사하겠습니다.
ex) int *p = &a;는 *포인터 형이므로 p는 주소값을 담으므로 a의 주소값 &a를 담고 p는 a를 가르키다.