What is difference between initialization and assignment?
Answer Posted / jaroosh
Those answers are actually highly insufficient.
Here are some differences to point that come to my mind :
a) you CANT assign to a const variable, whereas you CAN
initialize it. For example :
const AXC d = 3; //OK! initialization
d = 3; //WRONG! cannot assign to const
b) initialization IS about creating object
assignment IS about setting some value to object
This is why in the following code :
AXC d = 3;
AXC x;
x = 2;
first line will require an appropriate constructor:
AXC(int i) { ... }
whereas the third line will use overloaded assignment "="
operator if its specified (if not, it will use constructor
like above):
AXC operator =(int x) { ... }
c) Initialization also calls copy constructors, while
assignment does not :
A c;
A d = c; //Calls copy constructor of A
A e;
e = c; //Calls assignment operator of A
| Is This Answer Correct ? | 71 Yes | 5 No |
Post New Answer View All Answers
How can you say that a template is better than a base class?
What is a v-table?
Difference between class and structure.
What is the sequence of destruction of local objects?
Which programming language should I learn first?
What is the full name of logo?
Is recursion allowed in inline functions?
What is anonymous object in c++?
Why struct is used in c++?
What is #include iostream?
Explain class invariant.
What is class and structure in c++?
What is wrapper class in c++?
What is pure virtual function? Or what is abstract class?
Does there exist any other function which can be used to convert an integer or a float to a string?