[c++] const 포인터와 상수 배열

C++에서 const 키워드는 상수를 선언하는 데 사용됩니다. const 키워드는 변수나 포인터를 상수로 선언할 수 있고, 포인터가 가리키는 데이터 자체나 포인터가 가리키는 데이터를 변경하지 못하게 할 수 있습니다.

const 포인터

const int* ptr;
int num = 5;
ptr = #

위의 예시에서 ptrint형 데이터를 가리키는 상수 포인터입니다. 이는 ptr이 가리키는 값을 변경하지 않겠다는 것을 의미합니다. 즉, *ptr을 통해 num의 값을 변경할 수 없습니다.

int const* ptr;

위와 같이 const 키워드를 int 키워드 앞에 붙여서 사용해도 동일한 의미를 갖습니다.

또한, 아래와 같이 ptr이 참조하는 대상을 바꾸지 못하게 하는 방법도 있습니다.

int num1 = 5;
int num2 = 10;
int* const ptr = &num1;

ptr상수 포인터로, 한 번 설정된 참조 대상을 변경할 수 없습니다.

상수 배열

배열을 const로 선언하면 배열 내의 요소들이 변경되지 못하는 상수 배열이 됩니다.

const int arr[] = {1, 2, 3, 4, 5};

위의 예시에서 arrint형 요소를 가진 상수 배열입니다. 이는 배열 내의 요소들을 변경하지 않겠다는 것을 의미합니다.

마치며

const 포인터와 상수 배열은 프로그램을 안전하게 만들고 읽기 쉽게 유지하는 데 도움을 줍니다. 이러한 사용법을 이해하고 적절히 활용하는 것은 C++ 프로그래밍에서 중요합니다.

참고자료: https://en.cppreference.com/w/cpp/language/const