[C++] 복습(2) - const

박민주·2021년 8월 19일
0

C++

목록 보기
2/3
post-thumbnail

Const

  • 객체와 변수에 붙여서 '상수화'할 수 있다
  • 객체에 const 선언이 붙게 되면 이 객체를 대상으로는 const 멤버함수만 호출할 수 있다
  • const의 선언 유무도 함수 오버로딩의 조건에 해당된다

Const Function
1. 함수 내에서 클래스의 '멤버 변수'의 값을 변경하지 않겠다는 선언

  • const함수 내에서 멤버 변수의 값을 변경하려고 하면 컴파일에러가 난다
  1. const 함수 안에서는 const 함수가 아닌 함수의 호출이 제한된다
  • const함수가 아닌 함수는 멤버 변수에 저장된 값을 변경하지 않더라도,
    변경할 수 있는 능력을 지닌 함수이다
  • 따라서 실제 멤버 변수의 변경여부와 관계없이 const함수가 아니면 const함수 안에서
    호출할 수 없다

이후 여러 예제들을 실습해보니
const함수는 단순 출력이나 반환만을 하는 함수일 때 사용하기 좋을 것 같다

const를 붙이게 되면 여러 제한이 생겨나기 때문에 귀찮다고 생각될 수도 있다

그렇지만 이 함수가 멤버 변수의 값을 변경하는 함수인지 명확히 구분할 수 있기 때문에
나중에 디버깅을 할 때에도 디버깅 범위를 좁히는데 유용하지 않을까하는 생각이 든다

만약 const가 없다면 모든 함수를 확인하면서 값이 어떻게 변하는지 추적해야할 수도 있지만,
const가 붙은 함수가 있다면 처음부터 제외하고 디버깅할 수 있는 것이다 +_+

profile
Game Programmer

0개의 댓글