Skip to content

Commit 4122657

Browse files
committed
C++26 未初期化変数の読み取りをエラー性動作とする : 入れ子リストの表示崩れを修正 #1362
1 parent 5151c6a commit 4122657

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lang/cpp26/erroneous_behavior_for_uninitialized_reads.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ int main() {
4444

4545
## 仕様
4646
- 自動記憶域期間をもつオブジェクトの記憶域は確保時点で「エラー性の値 (erroneous value)」をもつとされ、処理系がプログラムの状態に依存せず決定する何らかの値で埋められる
47-
- 動的記憶域期間であれば不定値、静的・スレッド記憶域期間であればゼロで埋められる。C++23までは自動記憶域期間も不定値で埋められていた
47+
- 動的記憶域期間であれば不定値、静的・スレッド記憶域期間であればゼロで埋められる。C++23までは自動記憶域期間も不定値で埋められていた
4848
- 初期化されなかったスカラ型オブジェクトなど、値表現(パディングは含まない)内のいずれかのビットにエラー性の値をもつオブジェクトはエラー性の値をもつとされる
4949
- 式が評価された結果としてエラー性の値が生成された場合、エラー性動作を引き起こす
50-
- ただし、`unsigned char`(およびunsignedとなる場合は`char`)もしくは[`std::byte`](/reference/cstddef/byte.md)型のエラー性の値がこれらの型のオブジェクトの初期化・代入に使用される場合や値が破棄される場合はエラー性動作にならない
51-
- これらのルールは、式が評価された結果として不定値が生成された場合に未定義の動作を引き起こすとする従来のルールと同様である
50+
- ただし、`unsigned char`(およびunsignedとなる場合は`char`)もしくは[`std::byte`](/reference/cstddef/byte.md)型のエラー性の値がこれらの型のオブジェクトの初期化・代入に使用される場合や値が破棄される場合はエラー性動作にならない
51+
- これらのルールは、式が評価された結果として不定値が生成された場合に未定義の動作を引き起こすとする従来のルールと同様である
5252
- エラー性動作を引き起こしたうえで生成された値は、後続の処理ではエラー性の値とはみなされない
5353

5454
```cpp example

0 commit comments

Comments
 (0)