Const 란
Constant의 약자로, 변수를 상수화 하고자 할때 사용하는 키워드이다.
const 위치에 ('*'의 왼쪽, 오른쪽) 따라서 상수화 대상을 변경할 수 있다.
[포인터가 참조하는 값을 상수화]
const int* ptr = &value;
ptr = &value2; // ok
*ptr = 10; // error
- [포인터 변수를 상수화]
int* const ptr = &value;
ptr = &value2 // error
*ptr = 10; // ok
const 객체
객체를 const로 생성하면 const 멤버함수만 호출할 수 있다.(객체 내 데이터를 수정할 수 없기 떄문)
class MyClass
{
public:
void AddNum(int num) const;
void AddNum2(int num);
}
const MyClass a;
a.AddNum(1); // ok
a.AddNum2(1) // error