#include <iostream>
int main(void)
{
const int num1 = 1;
int num2 = 2;
const int* ptr1 = &num2;
int* const ptr2 = &num2;
const int* const ptr3 = &num2;
const int& ref = 3;
return 0;
}
Const 키워드는 상수화를 시켜주는 키워드이다.
const int num1 = 1;
위의 코드의 경우에는 num1이 1의 값으로 상수화 된 것이다.
때문에 num1=2; 처럼 num1의 값을 변경시키는 코드는 에러를 일으킨다.
num1의 값의 수정을 막기 위해서 사용한다.
const int* ptr1 = &num2;
포인터의 경우이다.
위의 코드의 경우에는
const가 자료형 왼편에 나왔다.
*ptr1 = 3; 처럼 ptr1이 역참조한 값의 변경은 불가능하다.
하지만 ptr1 = &num1; 처럼 가리키는 주소 값의 변경은 가능하다.
int* const ptr2 = &num2;
또 포인터의 경우이다.
위의 코드의 경우에는
cosnt가 자료형 오른편에 나왔다.
*ptr2 = 3; 처럼 ptr2가 역참조한 값의 변경은 가능하다.
하지만 ptr2 = &num1; 처럼 가리키는 주소 값의 변경은 불가능하다.
const int* const ptr3 = &num2;
또 포인터의 경우이다.
위의 코드의 경우에는
const가 자료형 왼편, 오른편 모두 등장했다.
*ptr3 = 3; 처럼 ptr3가 역참조한 값의 변경도 불가능하고
ptr3 = &num1; 처럼 가리키는 주소 값의 변경도 불가능하다.
const int& ref = 3;
참조자의 경우이다.
const 키워드를 사용함으로써 상수값 또한 참조할 수 있게 되었다.
그렇다고 해서 참조를 이요해서 상수 값을 수정할 순 없다.
읽기 전용 방식으로 사용이 가능하다.
const 키워드의 경우 변수를 상수화 시켜줌으로써 수정할 수 없는
읽기 전용의 값으로 만들어준다.
'공부 > C++' 카테고리의 다른 글
C++_Reference 참조자 (0) | 2020.04.03 |
---|---|
C++_Using 키워드 (0) | 2020.04.03 |
C++_Name Space(이름 공간) (0) | 2020.04.03 |
C++_Inline 함수 (0) | 2020.04.03 |
C++_함수의 Default Value (0) | 2020.04.03 |