Search results
Results from the WOW.Com Content Network
In the C++ programming language, the assignment operator, =, is the operator used for assignment.Like most other operators in C++, it can be overloaded.. The copy assignment operator, often just called the "assignment operator", is a special case of assignment operator where the source (right-hand side) and destination (left-hand side) are of the same class type.
In this case chain assignment can be implemented by having a right-associative assignment, and assignments happen right-to-left. For example, i = arr[i] = f() is equivalent to arr[i] = f(); i = arr[i]. In C++ they are also available for values of class types by declaring the appropriate return type for the assignment operator.
Augmented assignment (or compound assignment) is the name given to certain assignment operators in certain programming languages (especially those derived from C). An augmented assignment is generally used to replace a statement where an operator takes a variable as one of its arguments and then assigns the result back to the same variable.
For example, a prototype for an assignment operator that returns a type R!=T, where T is the type of the calling object is a wrong prototype. The build-in assignment operator returns a reference to the left-hand side operator, which has particular effects. Overloaded operators should implement an analogous interface.
It works with default assignment operator and so it should with user-defined, unless constant return type is desired for a specific reason, of course. In such a case, it is a custom operator signature and goes beyond the topic, doesn't it?
What links here; Related changes; Upload file; Special pages; Permanent link; Page information; Cite this page; Get shortened URL; Download QR code
Main page; Contents; Current events; Random article; About Wikipedia; Contact us; Pages for logged out editors learn more
The move assignment operator, like most C++ operators, can be overloaded. Like the copy assignment operator it is a special member function . If the move assignment operator is not explicitly defined, the compiler generates an implicit move assignment operator ( C++11 and newer) provided that copy / move constructors , copy assignment operator ...