最終更新日時: 2021年12月16日 20時34分11秒 (JST)
Raclamusi が更新

履歴 編集

<string>

# string

`<string>`ヘッダでは、文字列に関するクラス、関数、文字特性を定義する。

このヘッダでは、以下の標準ヘッダをインクルードする：

- `<initializer_list>` (C++11)
- `<compare>` (C++20)

## 文字特性

名前 | 説明 | 対応バージョン
--- | --- | ---
`char_traits` | 文字特性(class template) |

## 文字列クラス

名前 | 説明 | 対応バージョン
--- | --- | ---
`basic_string` | 汎用文字型の文字列(class template) |
`string` | マルチバイト文字列(type-alias) |
`wstring` | ワイド文字列(type-alias) |
`u8string` | UTF-8文字列(type-alias) | C++20
`u16string` | UTF-16文字列(type-alias) | C++11
`u32string` | UTF-32文字列(type-alias) | C++11
`pmr::basic_string` | 多相アロケータを用いる汎用文字型の文字列(type-alias) | C++17
`pmr::string` | 多相アロケータを用いるマルチバイト文字列(type-alias) | C++17
`pmr::wstring` | 多相アロケータを用いるワイド文字列(type-alias) | C++17
`pmr::u8string` | 多相アロケータを用いるUTF-8文字列(type-alias) | C++20
`pmr::u16string` | 多相アロケータを用いるUTF-16文字列(type-alias) | C++17
`pmr::u32string` | 多相アロケータを用いるUTF-32文字列(type-alias) | C++17

## 数値との変換

名前 | 説明 | 対応バージョン
--- | --- | ---
`stoi` | 文字列から`int`型への変換(function) | C++11
`stol` | 文字列から`long`型への変換(function) | C++11
`stoul` | 文字列から`unsigned long`型への変換(function) | C++11
`stoll` | 文字列から`long long`型への変換(function) | C++11
`stoull` | 文字列から`unsigned long long`型への変換(function) | C++11
`stof` | 文字列から`float`型への変換(function) | C++11
`stod` | 文字列から`double`型への変換(function) | C++11
`stold` | 文字列から`long double`型への変換(function) | C++11
`to_string` | 数値から`string`への変換(function) | C++11
`to_wstring` | 数値から`wstring`への変換(function) | C++11

## ハッシュサポート

名前 | 説明 | 対応バージョン
--- | --- | ---
`hash` | 先行宣言(class template) | C++11
`hash<string>` | `hash`の`string`に対する特殊化 | C++11
`hash<u8string>` | `hash`の`u8string`に対する特殊化 | C++20
`hash<u16string>` | `hash`の`u16string`に対する特殊化 | C++11
`hash<u32string>` | `hash`の`u32string`に対する特殊化 | C++11
`hash<wstring>` | `hash`の`wstring`に対する特殊化 | C++11
`hash<pmr::string>` | `hash`の`pmr::string`に対する特殊化 | C++17
`hash<pmr::u8string>` | `hash`の`pmr::u8string`に対する特殊化 | C++20
`hash<pmr::u16string>` | `hash`の`pmr::u16string`に対する特殊化 | C++17
`hash<pmr::u32string>` | `hash`の`pmr::u32string`に対する特殊化 | C++17
`hash<pmr::wstring>` | `hash`の`pmr::wstring`に対する特殊化 | C++17

## 関連項目

- `<string_view>`
- `<charconv>`

## 参照

- N2930 Range-Based For Loop Wording (Without Concepts)
- P2051R0 C++ Standard Library Issues to be moved in Prague