회사 레거시코드들 쭉 보고있는데 멤버변수 쓰는 방식이 조금 이해가 안가서 그럼

물론 코드를 그대로 올릴수는 없으니까 적당히 예시를 들어서 쓸게요


헤더가 이렇게 되어있구요

class A
{
  . . . . .
  sometype someval;

  void Start();
  void FuncA(sometype& someparam);
  void FuncB(sometype& someparam);
  void FuncC(sometype& someparam);
  . . . . .
}



구현은 이렇게 되어있어요

void Start
{
  . . . .
  FuncA(someval);
  . . . .
}
void FuncA(sometype& someparam)
{
  . . . .
  FuncB(someparam)
  . . . .
}
void FuncB(sometype& someparam)
{
  . . . .
  FuncC(someparam)
  . . . .
}
void FuncC(sometype& someparam)
{
  . . . .
}



특정 멤버변수를 그대로 안쓰고 저렇게 멤버함수 파라미터로 넘겨서 쓰더라구요

근데 코드상에서 저 변수가 성능에 굉장히 심각하게 영향을 주는걸로는 안보이거든요? 

실제로 멤버변수 그대로 쓰고 돌려도 잘만 돌아갔고

혹시 변수가 여기저기서 쓰이는걸 방지하기위해 저렇게쓴걸까? 하고 생각해봤는데

그렇다고 보기에는 어떤 멤버변수는 그대로쓰고 어떤 멤버변수는 저렇게 파라미터로 넘겨서 사용을 하더라구요 기준을 잘 모르겠는데,,,

아직 무지한 나부랭이라 저렇게 쓰는 의미를 잘 모르겠네요...


회사코드라 복붙해버릴수가 없어서 좀 추상적으로 예시를 들었는데 혹여나 보시는데 혼란이 오셨다면 정말 죄송합니다..