Skip to content

Commit

Permalink
any : クラスページに型の要件を記載
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Oct 19, 2023
1 parent 5ad48c7 commit bf03828
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion reference/any/any.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace std {
```
## 概要
`any`クラスは、あらゆる型の値を保持できる記憶域型である。保持する値と型は動的に切り替えることができる。
`any`クラスは、コピー可能なあらゆる型の値を保持できる記憶域型である。保持する値と型は動的に切り替えることができる。
```cpp
std::any x = 3; // int型の値3で初期化
Expand All @@ -35,6 +35,10 @@ assert(s == "Hello");
- イベントの種類ごとに異なるイベント変数 (`function<void(Point)>``function<void(ButtonID)>`) を用意するかまとめて扱うかで設計選択があるが、そこで`any`を使用するという選択肢がありうる


## 要件
- 代入する型はコピー構築可能であること


## 備考
- 実装は、小さなオブジェクトを保持するためには動的メモリ確保を回避するべきである。そのようなsmall-object optimizationは、代入される型`T`[`std::is_nothrow_move_constructible_v`](/reference/type_traits/is_nothrow_move_constructible.md)`<T> == true`の場合にのみ適用されること

Expand Down

0 comments on commit bf03828

Please sign in to comment.