評価7: ポインタ
評価の目的
学習者がZigのポインタ型を安全かつ効果的に使用できるかを評価します。
学習目標
- ポインタの種類(T, []T, []T)を理解する
- ポインタの参照と参照外しを習得する
- スライスとポインタの関係を理解する
- メモリ安全性を考慮したポインタ使用
- [ ] nullポインタを安全に処理している
- [ ] constポインタで不変性を保証している
- [ ] 境界外アクセスがない
- [ ] ダングリングポインタのリスクがない
- [ ] スライスの長さを正しく管理している
- 必須要件で64点以上(80%)
- メモリ安全性の問題がないこと
評価項目
必須要件 (80点)
| 項目 | 配点 | 基準 |
|---|---|---|
| 単一要素ポインタ | 20点 | *T の正しい使用 |
| スライス | 20点 | []T の正しい使用 |
| ポインタ演算 | 20点 | 参照・参照外しが正しい |
| constポインタ | 20点 | *const T の適切な使用 |
ボーナス要件 (20点)
| 項目 | 配点 | 基準 |
|---|---|---|
| センチネルポインタ | 10点 | [*:0]u8 などの使用 |
| アライメント指定 | 10点 | @alignOf, align() の使用 |