int path2(int y, int x) {

if (y == n - 1) return triangle[y][x];

int & ret = cache2[y][x];

if (ret != -1) return ret;

return ret = max(path2(y + 1, x), path2(y + 1, x + 1)) + triangle[y][x];

}


대충 이런 코드인데

왜 굳이 int &ret 선언을 하는거임?


그냥 cache2값 직접적으로 리턴하면서 다뤄도되지않음?