[defns.dynamic.type]
⟨glvalue⟩ type of the most derived object to which the glvalue refers
[Example 1:
If a pointer p whose type is “pointer to class B” is pointing to a base class subobject of class B, whose most derived object is of class D, derived from B, the dynamic type of the expression *p is “D”.
References are treated similarly.
— end example]