string에서 c_str()의 유지?
글쓴이: lacovnk / 작성시간: 토, 2005/11/12 - 7:14오후
http://oopsla.snu.ac.kr/~sjjung/stl/str_7474.htm
Quote:
c_str() 멤버 함수는 널문자로 끝나는 문자 배열을 리턴하고, 이 배열에 담긴 문자들은 string에 담긴 문자들과 동일하다. 이는 예전의 C 스타일의 문자배열을 가리키는 포인터를 필요로하는 함수와 함께 string을 사용할 수 있도록 해준다. 게다가, c_str()가 리턴하는 값은, 재할당이 일어날 수 있는 연산(append()나 insert())을 수행한 뒤에, 유효하지 않을 수가 있다. data() 멤버 함수는 string을 구성하는 문자 버퍼에 대한 포인터를 반환한다.
음. 만일 string이 소멸 된 이후에 c_str()이 가리키는 값은 당연히 모르는 건가요? 당연히 그런건가요?
복사해서 써야하나 -o-
Forums:
모른다기보다는 없어지는 거죠. c_str()이 반환한 포인터는 무효화되고
모른다기보다는 없어지는 거죠. c_str()이 반환한 포인터는 무효화되고요.
string이 소멸한 후에도 문자열을 보존하려면 복사해야 합니다.
댓글 달기