Этот небольшой утилитный класс обеспечивает автоматическое
уничтожение объектов, построенных с помощью new. Это параметризованный класс, который содержит указатель своего параметризованного типа и переопределяет операции, которые ведут себя как указатель объекта. Если указатель присваивается объекту TPointer, то в
конце концов он будет удален (при выходе из функции, исключительной ситуации или присваивании тому же объекту другого указателя).
Объекты TPointer должны создаваться в стеке. С помощью new их
создать нельзя.