C++

const 포인터와 포인터 상수

포인터를 실제 코드에서 안전하게 사용하려면 const가 포인터에 붙는 위치에 따라 의미가 어떻게 달라지는지 정확히 이해해야 합니다. 많은 초급자들이 const int , int const, const int const를 헷갈리며, 이 혼동이 버그로 이어지는 경우가 많습니다.

포인터가 가리키는 값와 포인터 자체를 중심으로 const 포인터와 포인터 상수의 판단 흐름을 읽습니다.

1

const가 가리키는 대상에 붙는 경우 (const int )

const int ptr는 포인터가 가리키는 값을 수정할 수 없다는 의미입니다.

포인터가 가리키는 값
2

포인터 자체가 상수인 경우 (int const)

int const ptr는 포인터 자체가 상수라는 뜻입니다.

포인터 자체
3

둘 다 상수인 경우 (const int const)

const int const ptr는 포인터 자체도 상수, 가리키는 값도 상수입니다.

변수 이름 기준으로 오른쪽에서 왼쪽