const는 상수의 개념으로 생각하면된다. const로 변수를 선언한다면 바꿀 수 없는 값이 된다.
const 자료형 상수명 = 상수값 |
const로 선언된 변수를 변경하려고 한다면 '읽기 전용 변수에 접근' 했다는 에러가 발생한다
포인터와 const
- 포인터 자료형 앞에 const가 붙는 경우 ( const int )
여기서 c는 const int를 가리키므로 가리키는 '값'을 변경하는 건 불가능하다. ( 가리키는 값이 불변 )
- 포인터 자료형 뒤에 const가 붙는 경우 ( const 포인터 )
const 포인터 이므로 가리키는 '대상'을 바꿀 수없다. (변수 자체가 불변) 따라서 값은 변경하지만 가리키는 대상(위치)는 변경 할 수 없다.
- cf) const 포인터는 선언과 동시에 초기화 해줘야 한다.
- 포인터 자료형 앞뒤에 const가 붙는경우
위에서 봤던 두가지 경우를 모두합친 경우에는 값 변경과 가리키는 대상 둘 다 변경 할 수 없다.
'개발 > C++' 카테고리의 다른 글
안전한 정수 연산을 위해 SafeInt 를 써보자 (0) | 2020.07.13 |
---|---|
VS 2017 환경에서 glog 설치 및 적용 방법 (0) | 2020.07.09 |
[EC++] #define 대신 const, enum, inline을 사용해야 하는 이유 (0) | 2020.02.11 |
[EC++] 용어 정리 ( 선언, 정의, 기본생성자, 복사생성자, 초기화, 복사대입연산자 등 ) (0) | 2020.02.10 |
Array와 List 비교 (0) | 2020.02.06 |
댓글