C++: const char*?

Jene Hojin Choi·2021년 7월 12일
0

C++

목록 보기
1/17
post-thumbnail

문제: const char*를 바꿀 수 있는 이유

const char* str을 바꿀 수 있는 것일까?
const라면 값이 바뀌지 않아야하는 것 아닐까?

결론

const char* str는 스트링이 const인 것이고, 그것을 가리키는 포인터는 const가 아니다. 그래서 포인터인 str가 가리키는 값을 바꿀 수 있는 것이다.

  1. char * const str1;
    str1 is a constant pointer to a character
    str1 는 바뀔 수 없지만 char는 바뀔 수 있다.
  1. const char * str2;
    str2 is a pointer to a character constant
    str2 는 바뀔 수 있지만 포인터가 가리키는 char는 바뀔 수 없다.
  1. const char * const str3
    str3 is a constant pointer to a character constant
    str3 와 포인터가 가리키는 char 둘 다 바뀔 수 없다.

0개의 댓글