So here is a sampling of questions you should be able to answer. A pointer to the memory to be freed. The storage is initialized to zero. You first have to create a temporary variable, assign it the value 7, and then pass that variable as a parameter to a function. The compiler pretends that the array parameter was declared as a pointer and sizeof reports the size of the pointer.
Assignment changes the value of the object that has already been constructed.
Initialization constructs a new object and gives it a value at the same time. A pointer can be reassigned to point to different objects, while a reference always refers to an object with which it was initialized. It is important to note that a return type is not part of a signature. Name two cases where you must use an initialization list as opposed to an assignment in constructors. If your class is to be a base class and if it has at least one virtual function, you should include a virtual destructor even if the destructor function has an empty function body.