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.
C++ objects in general behave like primitive types, so to copy a C++ object one could use the '=' (assignment) operator. There is a default assignment operator provided for all classes, but its effect may be altered through the use of operator overloading. There are dangers when using this technique (see slicing).
If a destructor is declared generation of a copy constructor is deprecated (C++11, proposal N3242 [2]). Move constructor if no copy constructor, copy assignment operator, move assignment operator and destructor are explicitly declared. Copy assignment operator if no move constructor and move assignment operator are explicitly declared.
With the advent of C++11 the rule of three can be broadened to the rule of five (also known as "the rule of the big five" [5]) as C++11 implements move semantics, [6] allowing destination objects to grab (or steal) data from temporary objects. The following example also shows the new moving members: move constructor and move assignment operator.
Other languages use different symbols for the two operators. [22] For example: In ALGOL and Pascal, the assignment operator is a colon and an equals sign (":=") while the equality operator is a single equals ("="). In C, the assignment operator is a single equals sign ("=") while the equality operator is a pair of equals signs ("==").
Copy constructors are the standard way of copying objects in C++, as opposed to cloning, and have C++-specific nuances. The first argument of such a constructor is a reference to an object of the same type as is being constructed (const or non-const), which might be followed by parameters of any type (all having default values).
Get AOL Mail for FREE! Manage your email like never before with travel, photo & document views. Personalize your inbox with themes & tabs. You've Got Mail!
In C++, by contrast, objects are copied automatically whenever a function takes an object argument by value or returns an object by value. Additionally, due to the lack of garbage collection in C++, programs will frequently copy an object whenever the ownership and lifetime of a single shared object would be unclear.