File tree Expand file tree Collapse file tree 2 files changed +5
-5
lines changed
Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -48,8 +48,8 @@ char16_t s[] = u"\U00020BB7野家"; // 𠮷野家
4848 - ` char32_t ` 文字リテラルが、基本文字集合とユニバーサルキャラクタ名より多くを含む場合は実装定義となる。
4949 - ` char32_t ` 型の文字列リテラルは、静的ストレージに配置される。
5050- ` char16_t ` と` char32_t ` はそれぞれ、[ ` <cstdint> ` ] ( /reference/cstdint.md ) ヘッダで定義される[ ` uint_least16_t ` ] ( /reference/cstdint/uint_least16_t.md ) と[ ` uint_least32_t ` ] ( /reference/cstdint/uint_least32_t.md ) と、サイズ、符号の有無、アライメントが同じである。
51- - ` <uchar > ` ヘッダでマクロ` __STDC_UTF_16__ ` が定義される場合、` char16_t ` 型の値はUTF-16の妥当なコードポイントを持つ。そうでない場合、` char16_t ` 型の値は実装定義の文字コードとなる。
52- - ` <uchar > ` ヘッダでマクロ` __STDC_UTF_32__ ` が定義される場合、` char32_t ` 型の値はUTF-32の妥当なコードポイントを持つ。そうでない場合、` char32_t ` 型の値は実装定義の文字コードとなる。
51+ - ` <cuchar > ` ヘッダでマクロ` __STDC_UTF_16__ ` が定義される場合、` char16_t ` 型の値はUTF-16の妥当なコードポイントを持つ。そうでない場合、` char16_t ` 型の値は実装定義の文字コードとなる。
52+ - ` <cuchar > ` ヘッダでマクロ` __STDC_UTF_32__ ` が定義される場合、` char32_t ` 型の値はUTF-32の妥当なコードポイントを持つ。そうでない場合、` char32_t ` 型の値は実装定義の文字コードとなる。
5353
5454
5555### ユニバーサルキャラクタ名
Original file line number Diff line number Diff line change @@ -14,16 +14,16 @@ C++11で追加された文字型[`char16_t`と`char32_t`](/lang/cpp11/char16_32.
1414
1515これまでは、以下のような仕様であった:
1616
17- - ` <uchar > ` ヘッダでマクロ` __STDC_UTF_16__ ` が定義される場合、` char16_t ` 型の値はUTF-16の妥当なコードポイントを持つ。そうでない場合、` char16_t ` 型の値は実装定義の文字コードとなる。
18- - ` <uchar > ` ヘッダでマクロ` __STDC_UTF_32__ ` が定義される場合、` char32_t ` 型の値はUTF-32の妥当なコードポイントを持つ。そうでない場合、` char32_t ` 型の値は実装定義の文字コードとなる。
17+ - ` <cuchar > ` ヘッダでマクロ` __STDC_UTF_16__ ` が定義される場合、` char16_t ` 型の値はUTF-16の妥当なコードポイントを持つ。そうでない場合、` char16_t ` 型の値は実装定義の文字コードとなる。
18+ - ` <cuchar > ` ヘッダでマクロ` __STDC_UTF_32__ ` が定義される場合、` char32_t ` 型の値はUTF-32の妥当なコードポイントを持つ。そうでない場合、` char32_t ` 型の値は実装定義の文字コードとなる。
1919
2020C++20では、無条件にUTF-16とUTF-32であることが規定される。
2121
2222なお、` u8 ` プレフィックスをつけた文字・文字列リテラルは、UTF-8であることがこれまでに規定されていた。
2323
2424
2525## この機能が必要になった背景・経緯
26- これまで、` <uchar > ` ヘッダのマクロ` __STDC_UTF_16__ ` と` __STDC_UTF_32__ ` が定義されている場合にのみ、` char16_t ` と` char32_t ` はUTF-16/UTF-32エンコーディングであると規定されていた。
26+ これまで、` <cuchar > ` ヘッダのマクロ` __STDC_UTF_16__ ` と` __STDC_UTF_32__ ` が定義されている場合にのみ、` char16_t ` と` char32_t ` はUTF-16/UTF-32エンコーディングであると規定されていた。
2727
2828しかし、これらが定義されなかった場合にコンパイラがほかのエンコーディングを選択することが疑わしかった。また、` char16_t ` の仕様として「サロゲートペア」が含まれているが、その概念をもつ他のよく知られた文字コードはない。単一の文字を32ビットで表現する他のよく知られた文字コードもない。
2929
You can’t perform that action at this time.
0 commit comments