예를들어 물어볼게영
A라는 클래스에 combine이라는 맴버함수가 있구
A& combine (const A &object)
{
this->num1 += object.num1;
this->num2 += object.num2;
return *this;
}
대략 이런식으로 되어있어요
그래서
example.combine (object);
이런식으로 함수 호출하게 되면
example이랑 object의 맴버변수들끼리 더하고
example의 참조자를 반환한다는데
굳이 *this를 반환할 필요가 있나요??
어짜피 위의 함수대로 연산하게 되면
알아서 exmaple 속의 맴버변수의 값들이 바뀌여 있을거같은데
아닌가영??
질문이 두서없는건 어떤걸 물어봐야 제가 궁금한 부분을 시원하게 긁을수 있는지 모르기 때문에 그런거 같습니다
힝
this넘겨주면 연속해서 함수 연결가능함
다시 한번 책을 곰곰히 읽어보니 이 부분이 클래스 + 연산자를 쉽게 풀어놓은거 같아영. +연산자 같은경우는 좌변값을 반환하니까 팜조자 반환을 통해서 좌변값을 반환하기 위해 저렇게 한거같아영 위에 분들 답변 보니까 명확해집니당 감사합니다 ㅠ_ㅠ
https://en.wikipedia.org/wiki/Operators_in_C_and_C++
여기보면 뭐가 R&를 반환하는지 알려줌
용어로는 메서드 체이닝