Q:

Ampersand Placement in a Parameter

I'm new to C++ and am learning about the Reference Operator and how it works. Will the placement of the operator & make a difference whether it be in front of or at the back of the variable? For example:
MenuCalories&
&MenuCalories

This is a Header file to be used in the source code and I'm just trying to understand it
class MenuCalories {
  private:
    unsigned int* calories;
    size_t num;

  public:
    // constructors (default, one arg, and copy)
    MenuCalories();
    MenuCalories( unsigned int numberOfMenuItems);
    MenuCalories( const MenuCalories& original);

    // destructor
    ~MenuCalories();

    // Member function
    int calorieAtIndex( int index );
};

I'm assuming that the contents of MenuCalories wont be changing but idk what the original does.

A:

The & token is used for two purposes, One to create reference variable and Second to get memory address of a variable. 
When it is used at LHS of assignment, like
int &a=b;
Then a reference to variable b is created. When you use it in function signature, it interpret the same.
void fun(int &b); 
When you use & at RHS of assignment, it will give address of variable. Like
int *p=&q
& Operator is used in front of variable, and according to the statement in which it occur, it will convey its meaning.

