반응형

deprecated 2

디폴트 복사 생성자(얕은복사,깊은복사)

디폴트 복사 생성자(얕은복사,깊은복사), gcc 4.8.1 버전 과연 얕은 복사가 되는걸까? 먼저 문제를 발견하기 위해서 얕은복사가 되는지 코드를 먼저 짜보았다. 참고는 예전에 듣던 유명한 c++강의의 소스를 참조를 했다. 오래전 강의라 그런가? deprecated 경고가 난다. 2014/01/10 - [프로그래밍/c++] - deprecated conversion from string constant to 'char*' 이경우 char * 를 const char *로 바꿔주면 된다. 아래처럼.. 전부다바꾸면 안되고 밑줄 친 부분만 바꿔준다. 그럼 아래처럼 성공적으로 컴파일된다. 그럼 과연 얕은 복사가 되었나? 아무런 조치도 취하지 않았는데 깊은 복사가 되었다. 새로운 컴파일러의 승리인가? 주소값을 체크..

프로그래밍/cpp 2014.01.10

deprecated conversion from string constant to 'char*'

deprecated conversion from string constant to 'char*' 은 에러가 아닌 경고지만, 해결하지 않는다면, 나중에 문제가 될 소지가 있습니다. 이 경고는 컴파일러를 최신으로 바꾼 후 뜰 수가 있습니다. 그러면 우선 경고를 만들어보겠습니다. 기존엔 이런 표현으로 쓰곤 했습니다. 문제가 있는 표현이지만, 컴파일상에서 에러가 나지 않았었습니다. 형식이 바뀌었습니다. 위 같은 표현으로 쓰기위해선 다음과 같이 써야합니다. 아래는 같은 표현입니다.(기존에 쓰던 방법) const char *c 라는 표현자체가 문자상수라는 표현인데, 확실히const를 명시하는 표현이 정확하다고 생각드네요. 표현은 확실해졌네요. 아니면 string 클래스를 사용해서 객체를 생성하여 사용하는 방법이 있..

반응형