文字列ライブラリ
C++ の文字列ライブラリには3種類の文字列に対するサポートが含まれています。
- std::basic_string - 任意の文字型の文字列を操作するために設計されたテンプレートクラス
- std::basic_string_view(C++17) - 文字列の一部への軽量な所有権のない読み込み専用のビュー
- NULL終端文字列 - 特別なNULL文字で終端する文字配列
目次 |
[編集]std::basic_string
テンプレートクラス std::basic_string は文字の並びを操作したり格納したりする方法を一般化します。 文字列の作成、操作、破壊はすべてクラスメソッドや関連関数の便利な集合で処理されます。
一般的に使用される型に対して std::basic_string の特殊化がいくつか提供されます。
ヘッダ <string> で定義 | |
型 | 定義 |
std::string | std::basic_string<char> |
std::wstring | std::basic_string<wchar_t> |
std::u16string | std::basic_string<char16_t> |
std::u32string | std::basic_string<char32_t> |
std::basic_string_viewテンプレートクラス std::basic_string_view は std::basic_string のインタフェースに似たインタフェースを使用して文字列や文字列の一部への読み込み専用アクセスを提供する軽量なオブジェクトです。 一般的に使用される型に対して std::basic_string_view の特殊化がいくつか提供されます。
| (C++17およびそれ以降) |
[編集] NULL終端文字列
NULL終端文字列は特別なNULL文字で終端する文字配列です。 C++ はNULL終端文字列を作成、調査、変更する関数を提供します。
NULL終端文字列には3種類あります。
[編集] 追加のサポート
[編集]std::char_traits
文字列ライブラリは std::basic_stringおよび std::basic_string_view(C++17およびそれ以降) に対する型と関数を定義するクラステンプレート std::char_traits も提供します。 以下の特殊化が定義されています。
ヘッダ <string> で定義 | ||
template<>class char_traits<char>; template<>class char_traits<wchar_t>; | (C++11およびそれ以降) (C++11およびそれ以降) | |
[編集]変換と分類
ローカライゼーションライブラリは文字列変換に対するサポート (std::wstring_convert など) や文字を分類する関数 (std::isspace や std::isdigit など) を提供します。
[編集]関連項目
ローカライゼーションライブラリ の C++リファレンス | |
文字列ライブラリ の C言語リファレンス |