*&

    [C++] *와 *& 연산자의 차이

    int *&x int *y 의 차이 x는 int 포인터에 대한 레퍼런스 타입 y는 int 포인터 타입 아래 func 함수 파라미터로 넘길 시 y는 복사본을 받을거고 x는 포인터에 대한 주소를 받게 된다. 이거는 y는 스코프 벗어 날 시 값 변화가 없지만 x는 변경된다 void func(int* p, int*& pr) { p++; pr++; } int main() { int a[2]; int* b = &a[0]; int* c = &a[0]; std::cout

    C++ inout형 포인터 *&

    *&는 단순하게 포인터의 주소를 뜻한다, 쉽게 말해 포인터의 주소다. 착각하지 말아야할게 *&로 보낸다고 해서 참조 대상의 주소를 보내는게 아니다. 아래 레퍼런스는 참조 대상이다. int main() { int* p2 = new int(1); // 아래 *&p2는 &(*p2)의 의미를 가지고 있다. cout