Funz. operatore che ritorna un reference

Ho questa funzione di overload di operatore:
////////////////////////////// //////////////////////
// Array è una classe per creare, gestire vettori:
class Array {
//...
public:
const int &Array::operator[] ( int subscript ) const
{
return ptr[ subscript ];
private:
int *ptr; // points to the first element of array