본문 바로가기
개발/C++

[C++] const 포인터

by 램램이 2020. 2. 7.

const는 상수의 개념으로 생각하면된다. const로 변수를 선언한다면 바꿀 수 없는 값이 된다.

const 자료형 상수명 = 상수값

 

const로 선언된 변수를 변경하려고 한다면 '읽기 전용 변수에 접근' 했다는 에러가 발생한다

 

포인터와 const

 

  • 포인터 자료형 앞에 const가 붙는 경우 ( const int )

여기서 cconst int를 가리키므로 가리키는 ''을 변경하는 건 불가능하다. ( 가리키는 값이 불변 )

 

 

 

 

 

  • 포인터 자료형 뒤에 const가 붙는 경우 ( const 포인터 )

const 포인터 이므로 가리키는 '대상'을 바꿀 수없다. (변수 자체가 불변) 따라서 값은 변경하지만 가리키는 대상(위치)는 변경 할 수 없다.

 

 

 

 

 

  • cf) const 포인터는 선언과 동시에 초기화 해줘야 한다.

 

 

 

 

  • 포인터 자료형 앞뒤에 const가 붙는경우

위에서 봤던 두가지 경우를 모두합친 경우에는 값 변경과 가리키는 대상 둘 다  변경 할 수 없다.

댓글