Difference between revisions of "cpp/named req/CopyConstructible"
From cppreference.com
m (Shorten template names. Use {{lc}} where appropriate.) |
|||
Line 10: | Line 10: | ||
The type must implement the following functions: | The type must implement the following functions: | ||
− | {{member | {{ | + | {{member | {{dsc small|Type::}}Type | 2= |
{{ddcl | notes={{mark|One of the variants is sufficient}} | 1= | {{ddcl | notes={{mark|One of the variants is sufficient}} | 1= | ||
Line 23: | Line 23: | ||
The following expressions must have the specified effects: | The following expressions must have the specified effects: | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc hitem | Expression | Effects}} |
− | {{ | + | {{dsc | {{c|1=Type a = v;}} | {{tt|a}} is equivalent to {{tt|v}}, where {{tt|v}} is an instance of {{tt|Type}}. {{tt|v}} must be unchanged.}} |
− | {{ | + | {{dsc | {{c|Type(v);}} | a temporary object of type {{tt|Type}} is equivalent to {{tt|v}}, where {{tt|v}} is an instance of {{tt|Type}}. {{tt|v}} must be unchanged. }} |
− | {{ | + | {{dsc end}} |
}} | }} | ||
===See also=== | ===See also=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc inc | cpp/types/dcl list is_copy_constructible}} |
− | {{ | + | {{dsc end}} |
[[de:cpp/concept/CopyConstructible]] | [[de:cpp/concept/CopyConstructible]] |
Revision as of 18:35, 31 May 2013
Template:cpp/concept/title Template:cpp/concept/navbar
Specifies that an instance of the type can be copy-constructed (copied).
This concept implies Template:concept.
Requirements
The type must implement the following functions:
Type::Type
Type::Type( Type& other ); Type::Type( const Type& other ); |
(One of the variants is sufficient) | |
Copy constructor: constructs an instance of a type with the contents of other
. The internal state of other
is not modified.
The following expressions must have the specified effects:
Expression | Effects |
Type a = v; | a is equivalent to v , where v is an instance of Type . v must be unchanged.
|
Type(v); | a temporary object of type Type is equivalent to v , where v is an instance of Type . v must be unchanged.
|
See also
(C++11)(C++11)(C++11) |
checks if a type has a copy constructor (class template) |