ホームページ > バックエンド開発 > C++ > std::string には Null ターミネータが含まれますか?

std::string には Null ターミネータが含まれますか?

Patricia Arquette
リリース: 2024-12-05 04:24:11
オリジナル
340 人が閲覧しました

Does std::string Include a Null Terminator?

Does std::string Contain a Null Terminator?

C の std::string クラスには本質的にヌル ターミネータは含まれませんC スタイルのような null ターミネータ (' ') strings.

質問:

次の文字列には null ターミネータが含まれますか? ' ?

std::string temp = "hello whats up";
ログイン後にコピー

答え:

いいえ。 std::string は、null ターミネータなしで文字配列にデータを内部的に保存します。

説明:

ただし、temp を使用して C スタイルの文字列表現にアクセスする場合は、 .c_str()、返される文字列にはヌル終端文字が含まれます。

追加情報:

  • 次の例に示すように、他の文字と同様に std::string に null 文字を含めることができます。
string s("hello");
cout << s.size() << ' ';
s[1] = '';
cout << s.size() << '\n';
ログイン後にコピー
  • このコードは「5 5」を出力し、null 文字が文字列のサイズに影響を与えないことを示します。

以上がstd::string には Null ターミネータが含まれますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート