Pointers from Scratch Using Modern C++