< <과 C++의 >> 연산자를 오버로드하는 예제를 보았습니다. 그러나,이 지역 변수친구 함수에서 지역 변수의 참조 반환
class Date
{
int mo, da, yr;
public:
Date(int m, int d, int y)
{
mo = m; da = d; yr = y;
}
friend ostream& operator<<(ostream& os, const Date& dt);
};
ostream& operator<<(ostream& os, const Date& dt)
{
os << dt.mo << '/' << dt.da << '/' << dt.yr;
return os;
}
int main()
{
Date dt(5, 6, 92);
cout << dt;
}
내가 운영 체제는 지역 변수 (어떻게 든,없는 경우 나 정정) 생각에 대한 참조를 반환 것 같다 구현하는 모든 예제로 의심을 얻었다.
이 코드가 실제로 작동하는지는 잘 모르겠지만 대부분의 웹 참조에서 비슷한 구현을 발견했습니다.
참고 : 헤더 파일 포함 및 네임 스페이스 std 문 사용은 의도적으로 생략되었습니다.
미리 감사드립니다.
그것은'지역 변수 – JLev
참조, 아니다
사실, 그건 당신이 기능의 연쇄 호출을 가능하게해야 할 일이다 os'는 지역 변수이지만 그것이 참조하는 객체는 지역 변수가 아닙니다. – VTT
1. 로컬 변수가 아닙니다. 2. 친구는 그 일과 아무 상관이 없다. – juanchopanza