const 선언할 경우 해당 함수의 this는 const가 된다.
즉, 수정 불가능한 상태가 된다. 따라서, this의 모든 멤버 변수에 접근할 수 없다.
또한, 해당 함수에서는 비 const 함수를 호출할 수 없다. 왜냐면 비 const함수에서는 멤버 변수가 수정될 수 있기 때문이다.
class AA {
public:
AA() = default;
~AA() = default;
void printData(int value) const
{
std::cout << this->data;
this->data = value; // 에러
changeData(); // 에러
}
void changeData(int value)
{
this->data = value;
}
private:
int data = 0;
};
int main()
{
std::cout << "Hello World!\n";
}
'Language > C++' 카테고리의 다른 글
[poco] 로그 예제 (0) | 2025.07.22 |
---|---|
[C++20] std::span (0) | 2025.05.25 |