cys05033   3년 전


int ret = dp[a][b][c]를 사용하니 정상적인 값을 출력하지 않는 것 같습니다.

매우 기초적인 문제 같긴 한데 int &ret = dp[a][b][c]에서 ret을 주소 참조로 선언 하는 이유가 뭔가요?

djm03178   3년 전

참조자를 쓰지 않으면 그냥 변수의 선언 시점에 dp[a][b][c]에 있던 값을 복사해서 ret에 넣기만 합니다. 그래서 그 이후 19번째 줄이나 22번째 줄이 실행되면 ret의 값만 바뀌고 dp[a][b][c]의 값은 그대로 있게 됩니다. 참조자를 쓰면 ret의 값을 바꾸는 것이 곧 dp[a][b][c]의 값을 바꾸는 것과 같게 됩니다.

cys05033   3년 전

아하 그렇군요! 그럼 ret 위치에 dp[a][b][c]를 넣으면 동일하게 동작하는 거군요. 감사합니다

댓글을 작성하려면 로그인해야 합니다.