string s1="Hello ";
string s2="world";
const char* s3=(s1+s2).c_str();
//string s3=(s1+s2).c_str();
cout<<s3;
주석처리한구문으로 실행하면 헬로월드 출력되는데
const char* s3으로 받으면 아무것도 출력안됨!
(s1+s2).c_str()이 출력하는게 어짜피 문자열상수 메모리값이니까 char*로 복사하면 되는거아닌가? 왜안될까요?
s1+s2수식처리할때 임시객체생성후 수식끝나면 아예 메모리를 날려버리는건가? 그래서 출력이없는건가? 엉ㅁ움ㅇㅁㄴㅇㅁㄴ뭐징
알려주세요 제발
string s2="world";
const char* s3=(s1+s2).c_str();
//string s3=(s1+s2).c_str();
cout<<s3;
주석처리한구문으로 실행하면 헬로월드 출력되는데
const char* s3으로 받으면 아무것도 출력안됨!
(s1+s2).c_str()이 출력하는게 어짜피 문자열상수 메모리값이니까 char*로 복사하면 되는거아닌가? 왜안될까요?
s1+s2수식처리할때 임시객체생성후 수식끝나면 아예 메모리를 날려버리는건가? 그래서 출력이없는건가? 엉ㅁ움ㅇㅁㄴㅇㅁㄴ뭐징
알려주세요 제발
댓글 0