Difference between revisions of "cpp/named req/CopyConstructible"
From cppreference.com
m (r2.7.3) (Robot: Adding de, es, fr, it, ja, pt, ru, zh) |
|||
Line 25: | Line 25: | ||
{{dcl list begin}} | {{dcl list begin}} | ||
{{dcl list hitem | Expression | Effects}} | {{dcl list hitem | Expression | Effects}} | ||
− | {{dcl list item | {{c|1=Type a = v;}} | {{tt|a}} is equivalent to {{tt|v}}, where {{tt| | + | {{dcl list item | {{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.}} |
{{dcl list item | {{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. }} | {{dcl list item | {{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. }} | ||
{{dcl list end}} | {{dcl list end}} |
Revision as of 15:28, 24 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) |