2016. 12. 8. 21:55 C++/공부
C++] 기초(6) - const 키워드
** 본 게시물은 C++을 복습하며 정리하는 글입니다. 틀린 부분이 있다면 지적 부탁드립니다. 현재 "윤성우의 열혈강의 C++"교재로 공부중이며 좀 더 상세한 설명을 원하시는 경우에는 책을 구매해서 찾아보시길 권장합니다.
[들어가기 전]
Const 키워드란 무엇일까?
보통 변수(Variable)라 함은 변하는 수, 즉 사용자나 시스템의 입력에 따라 변하는 저장공간을 의미한다. 그렇다면 상수란 무엇일까? 상수(Constant)는 변수와는 반대 개념으로 절대 변경할 수 없는 수를 의미한다.
일반적인 변수를 선언한 후 그 값을 변경하지 못하게 하고 싶을 때 어떻게 해야할까? 바로 해당 변수를 상수화 시킨면 된다. 이렇게 변수를 상수화 시키는 키워드를 바로 "const"라고 부른다.
[예제]
1) const int nVal = 7;
2) const int * ptr1 = &nVal1;
3) int * const ptr2 = &nVal2;
4) const int * const ptr3 = &nVal3;
답안)
1) const int nVal = 7;
==> 변수 nVal을 상수화 시킴.
2) const int * ptr1 = &nVal1;
==> 포인터 ptr1을 이용해서 nVal1의 값을 변경할 수 없다. 값을 가져오는것만 가능.
3) int * const ptr2 = &nVal2;
==> 포인터 ptr2가 상수화 된다. 그러므로 ptr2는 nVal2외에 다른 변수를 가리킬 수 없다.
4) const int * const ptr3 = &nVal3;
==> 포인터 ptr3이 상수화 된다. 그러므로 ptr3은 nVal3외에 다른 변수를 가리킬 수 없다. 또한, 포인터 ptr3을 이용해서 nVal3의 값을 변경할 수 없다.
'C++ > 공부' 카테고리의 다른 글
C++] 기초(8) - 참조자와 Call-by-reference (0) | 2016.12.14 |
---|---|
C++] 기초(7) - 참조자(Reference) (0) | 2016.12.08 |
C++] 기초(5) - 이름공간(namespace) (0) | 2016.12.07 |
C++] 기초(4) - 인라인(inline) 함수 (0) | 2016.12.07 |
C++] 기초(3) - 함수 매개변수의 디폴트 값 (0) | 2016.12.06 |