std:: copy_constructible
|
헤더 파일에 정의됨
<concepts>
|
||
|
template
<
class
T
>
concept copy_constructible
=
|
(C++20부터) | |
copy_constructible
개념은
T
가 lvalue 참조 타입이거나, 해당 타입의 객체가 (const일 수 있는) lvalue 또는 const rvalue로부터 직접 초기화 및 복사 초기화 컨텍스트에서 일반적인 의미론으로 생성 가능한
move_constructible
객체 타입일 경우 충족됩니다 (복사본이 생성되고 소스는 변경되지 않음).
의미론적 요구사항
만약
T
가 객체 타입이라면,
copy_constructible<T>
는 다음이 주어졌을 때만 모델됩니다
- v , (가능성 있게 const ) 타입 T 의 lvalue 또는 const T 타입의 rvalue,
다음은 참입니다:
- 정의 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 Concept
copy_constructible[concept.copyconstructible]
-
18.4.14 Concept
참고 항목
|
(C++11)
(C++11)
(C++11)
|
타입이 복사 생성자를 가지는지 검사합니다
(클래스 템플릿) |