You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
func라고 하는 int& 리턴형 함수를 사용하더라도 값의 복사가 이루어지기 때문에 위의 num1과 num2는 다른 변수이다.
func의 파라미터와 리턴타입이 모두 레퍼런스인데 그럼 num1과 num2는 같은 변수가 되는것 아닌가요?
func 결과 num1을 수정하면 num2가 수정되구요.
레퍼런스란게 같은걸 가리키는 개념에요. int num2 = func(num1); 에서 func() 함수는 num1 의 레퍼런스를
반환하는 결과가 되잔아요? 그러니까 위 문장은 int num2 = num1 와 실질적으로 같게되는거에요.
그리고 int &num2 = num1 를 할수있으니까 int &num2 = func(num1); 도 할수있는거죠
하지만 int &num2 = func2(num1) 는 안되죠. func2() 함수가 반환하는 값은 레퍼런스가 아니라 rvalue 기때문에
C++ Values(lvalue, rvalue, xvalue, prvalue, glvalue) - dydtjr1128's Blog
C++ Values
우측값 참조(Rvalue reference)는 C++11에서 처음 소개된 기능으로 다소 이해하기 어려운 구조를 가지고 있다.
기존...
https://dydtjr1128.github.io/cpp/2019/06/10/Cpp-values.html
The text was updated successfully, but these errors were encountered: