함수 (예 : T& func(){...}
)에서 참조를 반환하고 싶을 때 이해가 안됩니다. 예를 들어함수에서 참조를 언제 반환합니까?
는 :
T& func() {
Something t;
return t;
}
이 t
라는 Something
인스턴스를 만든 다음 참조를 반환합니다. 범위를 벗어나면 t
이 손실됩니다. 그래서 참조는 0
을 말하는 것 같아 ..?
즉 다른 말로하면 왜 참조 또는 const 참조를 반환하겠습니까? 설명하고 예제를 제공하십시오.
함수에 정의 된 정적 변수에 대한 참조를 반환하는 경우는 일반적이지 않습니다. 또한 멤버 함수는 종종 참조를 반환합니다. 참조가 함수보다 오래 지속되는 객체에 대한 것이면 언제든지 이해할 수 있습니다. – Galik
다른 예는 max입니다. 샘플 구현의 반환 유형에주의를 기울이십시오. http://www.cplusplus.com/reference/algorithm/max/ –
참조가 마술처럼 '0'을 참조하기 시작합니다. 그게 무슨 뜻이야? –