reference

  • 변수
    • 메모리의 특정 위치를 가리키는 이름
  • 레퍼런스 변수
    • 기존 변수에 또 다른 이름을 부여
  • 주의점
    • (체크) int는 메모리 용량이 크지도않고 표준타입은 call by value로 받았을 때 최적화가 더 잘됨
    • void foo(int x) void foo(const int& x)

reference return

  • 활용

      Point pt = {0, 0} // 전
    Point& foo() { return pt; }
    Point foo() { return pt; } // 리턴용 임시 객체 생성
    foo().x = 10; // return by ref만 가능
      
  • 내용

    • 함수가 참조를 반환하면 임시객체가 생성되지않음
    • 함수 호출식이 lvalue가 될 수 있다.
    • 전역, 멤버변수만 참조로 반환