본문 바로가기

공부/C++

C++_Const 키워드

#include <iostream>


int main(void)
{
	const int num1 = 1;

	int num2 = 2;

	const int* ptr1 = &num2;

	int* const ptr2 = &num2;

	const int* const ptr3 = &num2;

	const int& ref = 3;

	return 0;
}

 

Const 키워드는 상수화를 시켜주는 키워드이다.

 

const int num1 = 1;

 

위의 코드의 경우에는 num1이 1의 값으로 상수화 된 것이다.

때문에 num1=2; 처럼 num1의 값을 변경시키는 코드는 에러를 일으킨다.

num1의 값의 수정을  막기 위해서 사용한다.

 

const int* ptr1 = &num2;

 

포인터의 경우이다.

위의 코드의 경우에는

const가 자료형 왼편에 나왔다.

*ptr1 = 3; 처럼 ptr1이 역참조한 값의 변경은 불가능하다.

하지만 ptr1 = &num1; 처럼 가리키는 주소 값의 변경은 가능하다.

 

int* const ptr2 = &num2;

 

또 포인터의 경우이다.

위의 코드의 경우에는

cosnt가 자료형 오른편에 나왔다.

*ptr2 = 3; 처럼 ptr2가 역참조한 값의 변경은 가능하다.

하지만 ptr2 = &num1; 처럼 가리키는 주소 값의 변경은 불가능하다.

 

const int* const ptr3 = &num2;

 

또 포인터의 경우이다.

위의 코드의 경우에는

const가 자료형 왼편, 오른편 모두 등장했다.

*ptr3 = 3; 처럼 ptr3가 역참조한 값의 변경도 불가능하고

ptr3 = &num1; 처럼 가리키는 주소 값의 변경도 불가능하다.

 

const int& ref = 3;

 

참조자의 경우이다.

const 키워드를 사용함으로써 상수값 또한 참조할 수 있게 되었다.

그렇다고 해서 참조를 이요해서 상수 값을 수정할 순 없다.

읽기 전용 방식으로 사용이 가능하다.

 

const 키워드의 경우 변수를 상수화 시켜줌으로써 수정할 수 없는

읽기 전용의 값으로 만들어준다.

'공부 > C++' 카테고리의 다른 글

C++_Reference 참조자  (0) 2020.04.03
C++_Using 키워드  (0) 2020.04.03
C++_Name Space(이름 공간)  (0) 2020.04.03
C++_Inline 함수  (0) 2020.04.03
C++_함수의 Default Value  (0) 2020.04.03