비쥬얼 스튜디오 2017 부터 문자 포인터에 문자열을 정의하면 오류메세지를 내보낸다.
문자열 데이터는 생성되면 읽기 데이터 영역에 상주하고
같은 문자열을 정의할 때 새로 만들지 않고 해당 메모리를 사용한다.
char[] msg 로 선언할 경우 문자열 데이터를 복사하여 스택으로 가져와 사용하기 때문에 수정이 가능 하지만
char* msg는 할당된 메모리 자체를 가리키기 때문에 읽기만 가능하다.
애초에 const로 작동하고 있기 때문에 비주얼스튜디오 2017부터는 아예 문자열을 포인터로 가리키기 위해서는 const 키워드를 넣도록 강제한 것으로 추정된다.
'Programming' 카테고리의 다른 글
[도서]읽기 좋은 코드가 좋은 코드다 (0) | 2020.04.10 |
---|---|
객체지향 (2) | 2020.04.04 |
빌드 과정 (0) | 2020.03.18 |
[C#] 이란 (1) | 2020.03.09 |
소켓 프로그래밍 (0) | 2020.03.03 |