Skip to content

Commit a564c1e

Browse files
committed
用語定義 c++ 1
1 parent f1bb1e0 commit a564c1e

19 files changed

Lines changed: 42 additions & 18 deletions

public/docs/cpp/1-types-control/1-0-basic-types.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@ question:
88
- charとstd::stringはどちらも文字を扱うのに使うようですが、違いは何ですか?
99
- 変数のサイズが環境によって異なる場合があるとは、どういうことですか?
1010
- intが32bit以上であることが保証されているというのは、どういう意味ですか?
11+
term:
12+
- 基本型
13+
- 整数型
14+
- 浮動小数点型
15+
- 文字型
16+
- ブール型
17+
- int
18+
- long
19+
- double
20+
- float
21+
- char
22+
- bool
1123
---
1224

1325
## 基本的なデータ型

public/docs/cpp/1-types-control/2-0-uniform-init.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ term:
1717

1818
C++には変数を初期化する方法がいくつもありますが、C++11以降では **波括弧 `{}` を使った初期化(ユニフォーム初期化)** が推奨されています。
1919

20-
なぜ `{}` が良いのでしょうか? それは、**縮小変換(Narrowing Conversion)** を防げるからです。例えば、少数のデータを整数型変数に無理やり入れようとした時`=` なら黙って切り捨てられますが、`{}` ならコンパイルエラーにしてくれます。
20+
なぜ `{}` が良いのでしょうか? それは、**縮小変換(Narrowing Conversion)** を防げるからです。例えば、小数のデータを[[整数型]]変数に無理やり入れようとした時`=` なら黙って切り捨てられますが、`{}` ならコンパイルエラーにしてくれます。
2121

2222
```cpp:initialization.cpp
2323
#include <iostream>

public/docs/cpp/1-types-control/3-1-const.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ question:
88
- constを付け忘れた場合、どのような問題が起こりうるのですか?
99
- PIのように定数を宣言するとき、変数名を大文字にするのはルールですか?
1010
- constはどんなデータ型にでも使えるのですか?
11+
term:
12+
- const
1113
---
1214

1315
### `const`による不変性の保証

public/docs/cpp/1-types-control/3-2-auto.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ question:
77
- autoを使いすぎるとコードが読みにくくなることはありませんか?
88
- auto z = "hello"; がconst char* になるのはなぜですか?std::stringにはならないのですか?
99
- autoを使うことで、プログラムの実行速度に影響はありますか?
10+
term:
11+
- auto
1012
---
1113

1214
### `auto`による型推論

public/docs/cpp/1-types-control/5-1-if.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ question:
66
- if文の条件式はboolに変換可能なものである必要があるとありますが、具体的にどういうことですか?
77
- if文の中にさらにif文を入れることはできますか?
88
- else ifやelseは必ず書かないといけないものですか?
9+
term:
10+
- if
911
---
1012

1113
### `if`

public/docs/cpp/1-types-control/5-2-switch.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,16 @@ question:
88
- breakを書き忘れた場合、プログラムはどのように動作するのですか?
99
- switch文のcaseに書ける値の型に制限はありますか?
1010
- defaultのcaseは必ず書くべきですか?
11+
term:
12+
- switch
1113
---
1214

1315
### `switch`文とフォールスルー
1416

15-
`switch` 文は `break` を書かない限り、次の `case` へ処理が流れます(フォールスルー)。意図的なフォールスルーでない限り、`break` を忘れないように注意が必要です。C++17以降では `[[fallthrough]];` 属性をつけることで、「意図的なものである」とコンパイラに伝え、警告を抑制できます。
17+
`switch` 文は `break` を書かない限り、次の `case` へ処理が流れます(フォールスルー)。意図的なフォールスルーでない限り、`break` を忘れないように注意が必要です。
18+
19+
> [!TIP]
20+
> C++17以降では `[[fallthrough]];` 属性をつけることで、「意図的なものである」とコンパイラに伝え、警告を抑制できます。
1621
1722
```cpp:control-switch.cpp
1823
#include <iostream>

public/docs/cpp/1-types-control/5-3-loop.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ question:
88
- whileループの具体的な使い方の例も見てみたいです。
99
- 無限ループを防ぐためにはどうすれば良いですか?
1010
- ループを途中で抜け出す方法や、次のイテレーションに進む方法はC++にもありますか?
11+
term:
12+
- while
13+
- for
1114
---
1215

1316
### ループ構文
1417

15-
`while`, `for` も標準的です。
16-
1718
```cpp:control-loop.cpp
1819
#include <iostream>
1920

public/docs/cpp/1-types-control/6-0-summary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ question: []
77

88
## この章のまとめ
99

10-
* **型システム**: `int`, `double`, `bool` などの基本型があり、静的に管理される。
10+
* **型システム**: `int`, `double`, `bool` などの[[基本型]]があり、静的に管理される。
1111
* **初期化**: `int x{10};` のような波括弧 `{}` を使う[[初期化]]が推奨される(縮小変換の防止)。
12-
* **型推論と定数**: `auto` で型推論を行い、変更しない変数には `const` を付ける。
12+
* **型推論と定数**: [[`auto`]] で型推論を行い、変更しない変数には [[`const`]] を付ける。
1313
* **入出力**: [[`std::cout`]], [[`std::cin`]] を使い、`<<`, `>>` 演算子でデータを流す。
1414
* **制御構文**: 基本は他言語と同じだが、`switch` のフォールスルー挙動などに注意する。

public/docs/cpp/1-types-control/6-2-practice2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ question:
1717
* 両方で割り切れるときは "FizzBuzz" と出力。
1818
* それ以外は数値をそのまま出力。
1919

20-
出力はスペース区切りまたは改行区切りどちらでも構いません。[[変数]][[初期化]]には `{}` を、ループカウンタの型には `auto` を使用してみてください。
20+
出力はスペース区切りまたは改行区切りどちらでも構いません。[[変数]][[初期化]]には `{}` を、ループカウンタの型には [[`auto`]] を使用してみてください。
2121

2222
```cpp:practice2_2.cpp
2323
#include <iostream>

public/docs/cpp/11-stl-algorithms/2-3-foreach.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ question:
1010

1111
### `std::for_each`: 各要素に処理を適用する
1212

13-
指定された範囲の全ての要素に対して、特定の関数(処理)を適用します。ループを書くよりも意図が明確になる場合があります。
13+
指定された範囲の全ての要素に対して、特定の関数(処理)を適用します。 [[`for`]] ループを書くよりも意図が明確になる場合があります。
1414

1515
```cpp
1616
// 3番目の引数に関数を渡す

0 commit comments

Comments
 (0)