Doubt regarding double pointer value

when creating a double pointer in cpp like the following one :

int a = 10;
int *aptr;
aptr = &a;
int **aaptr;
aaptr = &aptr;

How the value of cout<<**aaptr<<endl; is 10 .Even when the pointer points to aptr;

Thanks

aaptr points to aptr, which again points to a
hence **aaptr is treated like *(*aaptr) = *(aptr) = a = 10

Hope you understand.