Skip to content

Commit 782ec35

Browse files
[ci] generate question examples
1 parent 3de97aa commit 782ec35

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+207
-2
lines changed

public/docs/rust/3-ownership/1-0-stack-heap.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-stack-heap
33
title: スタックとヒープのメモリ管理
44
level: 2
5+
question:
6+
- スタックとヒープとは、コンピュータのメモリのことで、具体的にどう違うのですか?
7+
- なぜRustでは他の多くの高水準言語と違って、スタックとヒープを意識する必要があるのですか?
8+
- システムプログラミング言語だと、値がどこに配置されるかが挙動に直結するというのは、具体的にどういう意味ですか?
59
---
610

711
## スタックとヒープのメモリ管理

public/docs/rust/3-ownership/1-1-stack.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-stack
33
title: スタック(Stack)
44
level: 3
5+
question:
6+
- LIFO(Last In, First Out)とは、具体的にどのようなデータの出し入れの順番を表していますか?
7+
- コンパイル時にサイズが既知のデータとは、どのような種類のものがありますか?例えば、文字列はスタックに置けますか?
8+
- スタックが高速であるというのは、ヒープと比較してどれくらいの速さの違いがあるのですか?
59
---
610

711
### スタック(Stack)

public/docs/rust/3-ownership/1-2-heap.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: rust-ownership-heap
33
title: ヒープ(Heap)
44
level: 3
5+
question:
6+
- 任意の順序で確保・解放が可能とはどういうことですか?スタックとの違いは何ですか?
7+
- なぜヒープはスタックよりも低速なのですか?ポインタ経由のアクセスとは具体的に何を指しますか?
8+
- >-
9+
ヒープに置かれるデータとしてStringやVecが挙げられていますが、これらのデータの一部(例えば、文字列の長さなど)はスタックにも置かれるのでしょうか?
510
---
611

712
### ヒープ(Heap)

public/docs/rust/3-ownership/2-0-ownership-rules.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-ownership-rules
33
title: 所有権の3つのルール
44
level: 2
5+
question:
6+
- 「所有者(Owner)」とは具体的に何をする変数で、通常の変数と何が違うのですか?
7+
- なぜRustでは、各値の所有者は常に一人でなければならないというルールがあるのですか?複数いるとどのような問題が起こる可能性がありますか?
8+
- 所有者がスコープから外れると値が「破棄(ドロップ)」されるとありますが、これは自動的にメモリが解放されるということですか?
59
---
610

711
## 所有権の3つのルール

public/docs/rust/3-ownership/2-1-scope.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-scope
33
title: 変数のスコープ
44
level: 3
5+
question:
6+
- このスコープの例は他の言語とほぼ同じとありますが、Rustの所有権の文脈でこの例を示すのはなぜですか?
7+
- スコープを抜けた瞬間にRustが自動的に呼び出すという`drop`関数は、私たち開発者が明示的に書く必要がありますか?
8+
- C++のRAIIパターンとは具体的にどのようなもので、Rustの所有権システムとどのように関連していますか?
59
---
610

711
### 変数のスコープ

public/docs/rust/3-ownership/3-0-move-copy.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
id: rust-ownership-move-copy
33
title: ムーブセマンティクス(Move vs Copy)
44
level: 2
5+
question:
6+
- Rustで「代入」の意味がデータ型によって変わるというのは、他のプログラミング言語と比べてどのような点が大きく異なりますか?
7+
- ムーブとコピーという言葉は聞いたことがありますが、Rustの文脈ではそれぞれどのような挙動をするのですか?
58
---
69

710
## ムーブセマンティクス(Move vs Copy)

public/docs/rust/3-ownership/3-1-copy.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
id: rust-ownership-copy
33
title: Copyトレイト:スタックのみのデータ
44
level: 3
5+
question:
6+
- '`Copy`トレイトとは何ですか?どのようなデータ型が`Copy`トレイトを持つことができますか?'
7+
- 整数型のような単純な値が自動的にコピーされるのは、どのようなメリットがありますか?パフォーマンスに影響はありますか?
58
---
69

710
### Copyトレイト:スタックのみのデータ

public/docs/rust/3-ownership/3-2-move.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-move
33
title: Move(移動):ヒープデータの場合
44
level: 3
5+
question:
6+
- '`s2 = s1`とした時に、`s1`がなぜ無効になるのですか?`s1`にはデータが残っていないのでしょうか?'
7+
- 二重解放エラーとは具体的にどのようなエラーで、プログラムにどのような問題を引き起こす可能性がありますか?
8+
- '`value borrowed here after move`というコンパイルエラーは、この説明のどの部分が原因で発生しているのですか?'
59
---
610

711
### Move(移動):ヒープデータの場合

public/docs/rust/3-ownership/3-3-clone.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-clone
33
title: Clone:ディープコピー
44
level: 3
5+
question:
6+
- ディープコピーとは具体的に何ですか?`clone()`メソッドを使うと、メモリ上でどのような処理が行われますか?
7+
- ヒープデータごとコピーするのに「コストが高い」とありますが、これはどの程度パフォーマンスに影響しますか?
8+
- '`clone()`を使えば簡単にコピーできるのに、なぜRustはデフォルトでムーブにするのですか?常に`clone()`を使えば良いのでしょうか?'
59
---
610

711
### Clone:ディープコピー

public/docs/rust/3-ownership/4-0-ownership-func.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-ownership-ownership-func
33
title: 所有権と関数
44
level: 2
5+
question:
6+
- 関数に変数を渡す動作が代入と同様に機能し、所有権が移動するということは、関数に渡した変数は、関数から戻ってきた後に使えなくなるということですか?
7+
- '`i32`のような`Copy`トレイトを持つ型は、関数に渡しても所有権が移動しないとのことですが、これはなぜですか?'
8+
- '`takes_ownership`関数に`s`を渡した後、`main`関数内で`s`を使おうとするとどのようなエラーになりますか?'
59
---
610

711
## 所有権と関数

0 commit comments

Comments
 (0)