Question: what is the difference between declaration and initialization?
Answer: Initialization refers to the "assignment" of a value, at construction time. For a generic object of type T , it's often in the form. Declaration, generally, refers to the introduction of a new name in the program. For example, you can declare a new function by describing it's "signature".