A reference is always bound to the same object. When that object is destroyed, any use of its reference yields undefined behavior. The following example may demonstrate that:
int & rif () {int i = 1;int &ri = i;return ri; //OOPS! undefined results; ri is a reference to a local int; }