[C++] 레퍼런스 연산자(&) 관련 C++

  • 포인터 변수(*)와의 차이점
    포인터는 자체 메모리 공간을 가지지만 레퍼런스는 자체 메모리 공간 없음

  • int & Cent(float x)
    반환값이 int형인데 일반 변수에 들어있는 값을 리턴하는 것이 아니라 int 타입 변수의 참조를 반환한다.

  • Currency Currency::Add(const Currency& x) const
    전달인자가 x라는 객체를 전달하는데 이 객체를 복사해서 전달하는 것이 아니라 객체의 참조만 전달함. 뒤에 const는 이 함수에서 이 객체의 멤버변수값을 변경할 수 없음을 의미함

  • Currency& Currency::Increment(const Currency& x)
    복사본을 리턴하는 것이 아니라 원본의 참조를 리턴함. 원본에 영향. 복사 비용 최소화. 함수의 지역변수를 참조형으로 리턴할 경우 문제있음.

덧글

댓글 입력 영역