C++ TIPS

함수의 const

hyrule 2022. 4. 18. 14:37
  • 함수에 포인터 타입으로 인자를 주면 스택에 새 공간을 임시로 할당하여 인자 주소의 값을 복사해온다.
    -> 이 과정에서 시간이 추가로 소요된다.
  • 하지만 레퍼런스 타입으로 받아오면 이런 과정 없이 참조만 해서 데이터를 활용하므로 시간이 단축된다.
  • 앞에 const를 붙여놓는 이유는 const를 붙이면 인자로 들어온 값을 변경할 수 없게 되므로 실수로 인한 데이터 변조를 막을 수 있다.
  • 함수의 뒤에도 const를 붙일 수 있다. 이럴 경우 함수에서 클래스 내부의 변수를 변경할 수 없게 된다.
    또한 const 함수는 같은 const 함수만 호출할 수 있다.