pointer aliasing
pointer-aliasing, pointers
Solution
In "Strict aliasing", pointers don't alias if they are different types. In "Typed aliasing", pointers of the same type can alias and overlap. In "Restricted aliasing", pointers of same type are assumed to not overlap. In "Disjointed aliasing", all pointer expressions result in no overlap.
Problem
what is the difference between "Strict", "Typed", "Restricted" and "Disjointed" aliasing?