> 백엔드 개발 > C++ > std::string에 Null 종결자가 포함되어 있습니까?

std::string에 Null 종결자가 포함되어 있습니까?

Patricia Arquette
풀어 주다: 2024-12-05 04:24:11
원래의
212명이 탐색했습니다.

Does std::string Include a Null Terminator?

std::string에 Null 종결자가 포함되어 있나요?

C의 std::string 클래스는 본질적으로 Null 종결자를 포함하지 않습니다. C 스타일과 같은 널 종결자(' ') strings.

질문:

다음 문자열에 null 종결자가 포함됩니까? '?

std::string temp = "hello whats up";
로그인 후 복사

정답:

아니요. std::string은 null 종결자 없이 내부적으로 데이터를 문자 배열에 저장합니다.

설명:

그러나 temp를 사용하여 C 스타일 문자열 표현에 액세스하는 경우 .c_str(), null 종결자가 반환된 문자열에 포함됩니다.

추가 정보:

  • 다음 예와 같이 다른 문자와 마찬가지로 std::string에 null 문자를 포함할 수 있습니다.
string s("hello");
cout << s.size() << ' ';
s[1] = '';
cout << s.size() << '\n';
로그인 후 복사
  • 이 코드는 "5 5"를 인쇄하여 null 문자가 문자열 크기에 영향을 미치지 않음을 나타냅니다.

위 내용은 std::string에 Null 종결자가 포함되어 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿