본문 바로가기
스터디/C++

[ C++ ] const ( 상수 )의 활용

by 알 수 없는 사용자 2019. 9. 5.

const 키워드와 함께 정의한 변수의 값은 수정이 불가능하다.

즉, 프로그래밍시에 바뀌어서는 안될값이 있을 경우 활용할 수 있다.

또한 코드가 길어질 경우 실수로 변수의 값이 바뀌어 지는것을 방지할 수 있다.

 

const의 예는 다음과 같다.

C++ const 

const int num = 10; 

-> "변수 num을 상수화"

 

그래서 num 값을 변경시에 컴파일 에러가 발생하는 것을 볼 수 있다.

 

그럼 포인터의 예를 살펴보자.

 

const int *ptr1 = #

-> "포인터 ptr1을 이용해서 num의 값을 변경 할 수 없음."

 

그래서 ptr1로 ptr1가 가리키고 있는 값을 변경할려고 할 때 컴파일 에러가 발생하는 것을 알 수 있다.

그러나 ptr1의 주소 값을 변경 할 수 있다.

 

 

 

* num에 다이렉트로 접근하면 값 변경이 가능하다는 것을 주의하자. 

 

그러면 const를 * 뒤에 붙여보자.

 

int * const ptr1 = #

-> "포인터 ptr1가 상수화된다."

 

그럼 const를 앞뒤로 붙여보자.

const int * const ptr1 = #

-> "포인터 ptr1가 상수화가 되었으며, ptr1를 이용해서 num의 값을 변경할 수 없다."