4.6 Transition Guide

Why was TSubObjectPtr deprecated? I read on their Answers page that it’s used in internal GC process, where the engine would be aware of the fact when the data was cleared and therefore automatically set the pointer to NULL, essentially making it easier on programmer to keep track of pointers. Do traditional C++ pointers now act the same way as TSubObjectPtr used to?