엄밀한 의미의 call by ref가 되려면
호출자가 인자로 넘겨준 객체의 아이덴티티를 피호출자가 바꿀수 있어야하는데
그저 객체의 스테이트만 바꿔놓고 콜바이레퍼런스라고 부르는 사람이 너무 많아져서
그래 이름이 뭐든 동작만 알면 됐지 하고 쥐쥐침
엄밀한 의미의 call by ref가 되려면
호출자가 인자로 넘겨준 객체의 아이덴티티를 피호출자가 바꿀수 있어야하는데
그저 객체의 스테이트만 바꿔놓고 콜바이레퍼런스라고 부르는 사람이 너무 많아져서
그래 이름이 뭐든 동작만 알면 됐지 하고 쥐쥐침
A simple litmus test for whether a language supports call-by-reference semantics is if it's possible to write a traditional swap(a, b) function in the language.
swap도 단순히 a와 b의 내부 스테이트만 바꿔치는 구현이라면 엄밀한 의미의 콜바레 없어도 가능
아이덴티티 스왑이 가능한지가 핵심이지
ㅇㅇ 저기에 써진 전통적인 스왑이라는 말이 애매해서
포인터 주는 수준만 되면 콜바이레퍼런스인줄 알았네 그게 아니었구나 용어 완전 잘못쓰고 있었네
용어가 정의하기 나름이기는 한데....