Day 4: スマートポインタ実践
課題概要
Box、Rc、RefCellを使った実践課題です。
課題
Exercise 1: Box
再帰的なデータ構造をBoxで実装:
// TODO: ConsListを実装
enum List {
Cons(i32, ???), // Boxが必要
Nil,
}
Exercise 2: Rc (参照カウント)
複数の所有者を持つデータ構造を実装:
use std::rc::Rc;
// TODO: 複数のノードが同じデータを参照
Exercise 3: RefCell (内部可変性)
不変参照の内部で可変にする実装:
use std::cell::RefCell;
// TODO: 内部可変性パターン
提出物
- 3つのExerciseの実装コード