An instance of a variable can be

  1. stored directly in memory
  2. accessed by pointer
  3. accessed by reference

1. Directly Storage

Cube c;
int i;
uiuc::HSLAPixel p;

2. Storage by Pointer

Cube *c;
int *i;
uiuc::HSLAPixel *p;

3. Storage by Reference

Cube &c = cube; // Alias to the variable `cube`
int &i = count; // Alias to the variable `i`
uiuc::HSLAPixel &p; // Illegal! Must alias something when variable is initialized.