인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

bona Kim님의 프로필 이미지
bona Kim

작성한 질문수

홍정모의 따라하며 배우는 C++

17.3 std::string의 길이와 용량

string에서 null char 관련

작성

·

249

1

string my_str_("");

cout << std::boolalpha;

cout << my_str_.empty() << endl;

cout << (int)my_str_[0] << endl; // 0 출력

수업중에 사용된 코드에서 마지막에 null char가 있는지 확인하려고 (int)my_str_[0]을 출력해보았는데, 0이 출력되었습니다.   

수업 중에 교수님께서 string에서는 null char를 절대 포함하지 않는다고 하셨고 분명히 my_str_.empty()에서 확인한것처럼 메모리가 비어있는데, 왜 (int)my_str_[0] 에 접근이 가능하고 0으로 값이 출력되는 건가요?

답변 1

0

홍정모님의 프로필 이미지
홍정모
지식공유자

안녕하세요? 좋은 질문입니다! 호기심이 많으신 것은 공부에 도움이 많이 될 것 같습니다.

17장까지 오셨으니 힌트만 드리자면, 

cout << (int)my_str_.at(0) << endl;

과 같이 디버그 모드에서 at을 사용하면 런타임 에러가 발생합니다.

bona Kim님의 프로필 이미지
bona Kim

작성한 질문수

질문하기