2.5
A reference serves as a alternative name for an object. In real-world programs,reference are primarily used as formal parameters to functions.
int ival=1024;
int &refVal=ival; //ok: refVal refers to ival
int &refVal2; //error: a reference must be initialized
int &refVal3=10; //error:initializer must be an object
Because a refernce is just another name for the object to which it is bound,all operations on a reference are actually operations on the underlying object
to which the reference is bound;
2.6
A typedef lets us define a synonym for a type
tydedef double wages; //wages is a synonym for double
typedef int exam_score; //exam_score is a synonym for int
typedef wages salary; //indirect synonym for double
wages hourly,weekly; //double hourly,weekly;
exam_score test_result; //int test_result;
Typedefs are commonly used for one of three purposes:
1.To hide the implementation of a given type and emphasize instead the purpose for which the type is used
2.To streamline complex type definitions,making them easier to understand
3.To allow a single type to be used for more than one purpose while making the purpose clear each time the type is used