(1) 아래 코드는 Java의 메소드다. 무엇이 잘못 되었나?

void set(String s) {
	s = "jong10";
}

(2) 아래 코드는 C++이다. 이 놈은 위와 뭐가 다른가?

void set(string& s) {
	s = "jong10";
}

그냥 별 생각 없이 코딩을 하다간, (이것보다 코드가 훨씬 길고 복잡한 상황에서) 첫 번째 코드의 실수를 하긴 매우 쉽다. 하지만 그와 반대로, C++을 오랫동안 하지 않고, Java, C#, Python, Ruby, Javascript 등에 익숙해지면, 두 번째 코드와 첫 번째 코드의 차이점을 기억하기란 더 어렵다. -_-;; C++의 reference 변수를 이용한 매개변수 전달을 Call by reference라고 하는 것이 틀린 표현은 아니지만, 그냥 alias라고 하는 편이 좀 덜 헷갈릴 것 같다. 나만 그런가? -_-)a

-- 이상한 나라의 종텐.


« Previous : 1 : ... 52 : 53 : 54 : 55 : 56 : 57 : 58 : 59 : 60 : ... 279 : Next »