const int num = 10;
정수형 상수 num
을 선언하는 동시에 10
으로 초기화한다.
상수(constant)의 뜻을 나 같은 경우 "read-only"(읽기 전용)로 해석했다.
const int *ptr1 = &val1
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int num = 20;
const int* ptr = #
cout<<*ptr<<endl;
*ptr = 50; // 에러 발생
cout<<*ptr<<endl;
return 0;
}
포인터를 이용해서 포인터가 가리키는 변수의 값을 바꾸는 것을 금지한다.
int* const ptr2 = &val2;
포인터 변수의 (주소)값 자체를 바꾸는 것을 변경하는 것을 금지한다.
하지만, 연산자 *
를 이용해 가리키는 변수의 값을 바꾸는 것은 허용이 된다.
const int* const ptr3 = &val3;
포인터 변수가 가리키는 값의 변경도 금지하고 포인터 변수 자체의 주소값을 바꾸는 것도 금지한다.