Why share the use of the ampersand (&) for both address operator and the reference declarator?
In C++, the ampersand character (`&`) can be used to get the address of an lvalue, a function designator, or a qualified name . .

    int y;
    int* p_to_y = &y;

The character has a shared use in C++ as  a reference declarator . . 

    int y;
    int& y_alias = y;

When learning C++ after having a cursory knowledge of C, this double usage caused me a lot of confusion! Given references and pointers are important concepts that should not be confused, can anyone suggest why the `&` was recycled rather than using a new alternative symbol? 
Why share the use of the ampersand (&) for both address operator and the reference declarator?
===

In C++, the ampersand character (`&`) can be used to get the address of an lvalue, a function designator, or a qualified name . .

    int y;
    int* p_to_y = &y;

The character has a shared use in C++ as  a reference declarator . . 

    int y;
    int& y_alias = y;

When learning C++ after having a cursory knowledge of C, this double usage caused me a lot of confusion! Given references and pointers are important concepts that should not be confused, can anyone suggest why the `&` was recycled rather than using a new alternative symbol? 