const keyword

Min·2024년 7월 13일
0

CPP

목록 보기
4/14
post-thumbnail

const

const 키워드는 주로 변수 자료형 앞에 붙어, 해당 변수를 상수화 시킵니다. 설계상 변수를 수정하면 안될 경우, const 키워드를 붙여 변수의 수정을 제한하면, 보다 안전한 코딩이 가능하게 됩니다.


pointer type

const 키워드가 값형 자료형이 아닌 pointer 자료형에 붙을 때가 있습니다.
이 경우 const의 위치에 따라 상수화되는 값이 달라지게 됩니다.

int main()
{
	int* Test = new int;
	const int* A = Test; //포인터가 가리키는 메모리 값을 상수화
	//*A = 8; //불가능
	A = nullptr; // 포인터가 가리키는 주소를 바꾸는 것은 가능
	
	int* const B = Test; //포인터가 가리키는 주소를 상수화
	*B = 8; // 포인터가 가리키는 메모리 값을 바꾸는 것은 가능
	//B = nullptr; //불가능

	const int* const C = Test; //주소와 값 둘다 상수화
	//*C = 8; //불가능
	//C = nullptr; //불가능

	return 0;
}

class member function

const 키워드가 멤버 함수 뒤에 붙을 경우, 해당 멤버함수를 통해서는 함수와 바인딩된 인스턴스를 수정할 수 없다는 의미를 가지게 됩니다.

class A
{
public:
	void Test() const //해당 함수로 인스턴스의 멤버변수를 바꿀 수 없음
	{
		return;
	}

	int a = 0;
};
profile
티내는 청년

0개의 댓글