X x(y); X x = y;Assignment x = y [1] X& Swap swap(x,y) void Expression semantics Name Expression Precondition Semantics Postcondition Copy constructor X(x) X(x) is a copy of x [2] Copy constructor X(x) X(x) is a copy of x [2] Copy constructor
X x(y); X x = y;x is a copy of y [2] Assignment x = y [1] x is a copy of y [2] Swap swap(x,y) Equivalent to
{ X tmp = x; x = y; y = tmp; }Complexity guarantees Invariants Models
[1] One implication of this requirement is that a const type is not Assignable. For example, const int is not Assignable: if x is declared to be of type const int, then x = 7 is illegal. Similarly, the type pair<const int, int> is not Assignable.
[2] The reason this says "x is a copy of y", rather than "x == y", is that operator== is not necessarily defined: equality is not a requirement of Assignable. If the type X is EqualityComparable as well as Assignable, then a copy of x should compare equal to x.
See alsoDefaultConstructible STL Main PageRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4