A safe pointer in C++ that protects against use after free and updates when the pointee is moved

Sometimes some object A needs to interact with another object B, e.g., A calls one of B’s methods.

Read in full here: