std:: copy_constructible
|
定義先ヘッダ
<concepts>
|
||
|
template
<
class
T
>
concept copy_constructible
=
|
(C++20以降) | |
copy_constructible
の概念は、
T
が左辺値参照型である場合、または
move_constructible
オブジェクト型であり、その型のオブジェクトが(const修飾された可能性のある)左辺値またはconst右辺値から、直接初期化とコピー初期化の両方のコンテキストで通常のセマンティクス(コピーが作成され、ソースは変更されない)で構築できる場合に満たされます。
セマンティック要件
T
がオブジェクト型である場合、
copy_constructible<T>
は以下の条件が与えられたときにのみモデル化されます
- v 、型(場合によっては const ) T の左辺値、または型 const T の右辺値、
以下が真実です:
- 定義 T u = v ; の後、 u は v と等しく、 v は変更されない。
- T ( v ) は v と等しく、 v を変更しない。
参考文献
- C++23規格 (ISO/IEC 14882:2024):
-
-
18.4.14 コンセプト
copy_constructible[concept.copyconstructible]
-
18.4.14 コンセプト
- C++20標準 (ISO/IEC 14882:2020):
-
-
18.4.14 コンセプト
copy_constructible[concept.copyconstructible]
-
18.4.14 コンセプト
関連項目
|
(C++11)
(C++11)
(C++11)
|
型がコピーコンストラクタを持つかどうかをチェックする
(クラステンプレート) |