다른글 남에게 가르쳐주는 리플에
const char *은 char이 const고 char const *는 포인터가 const라고 충고하는 착각글이 있던데 (실제로는 둘다 char이 const)
아마 const 규칙을 몰라서라기보다는 const가 좌측을 수식하는 구도 자체가 몸에 안베어서 튀어나온 실수인것 같음
내가 옛날에 봤던 입문서에서도 const char * vs char * const 설명할 때
전자는 const 우측에 char이 있으니까 char이 const
후자는 const 우측에 변수명이 있으니까 변수의 최종 타입인 포인터가 const
이런 해괴망측한 방식으로 설명했던 기억
이렇게 우측을 수식한다는 식의 그림을 계속 머리에 그리면 실수하기 쉬움
const는 원래 좌측을 수식하고 없을 때만 예외적으로 우측을 수식한다고 명확히 알면
char const *, const char *, char * const 혼동이나
type alias가 수반됐을 때의 혼동을 방지하기 아주 쉬움
언제 한번 보고도 계속 헷갈림. ㄱㅅㄱㅅ - dc App
그러면 const char *와 char const *는 char가 상수고, char * const는 포인터가 상수인거? - dc App
ㅇㅇ
좀헷갈리긴 함
ㄹㅇ const 뒤에 적게 시켜야함
개좋은글이내
ㅇㄷ
이거진짜 whgdmsrmfdlps
좋은글