Also ich würde den Code als unsicher und "gefährlich" einstufen.
Zeigeroperationen sind potentiell gefährlich. Punkt!
Ein winzig kleiner Fehler und schon kann der halbe Stack zerstört werden.
Es kommt aber darauf an, wie man damit umgeht.
Wenn man, wie das zum Beispiel die
VCL mit der der Klasse TList tun, Zeigeroperationen schön
in Klassen oder zumindest Funktionen verpackt dann geht das in Ordnung.
Was nicht in Ordnung ist wenn man Zeigeroperationen einfach so ohne schützende Hülle
in die Anwendung pflanzt.
Bei einem kleinen Testprogramm mag das noch kein Problem darstellen,
aber wenn die Anwendung wächst, dann sind das tickende Zeitbomben.
Code der Daten per Zeiger verändert ist wie eine geladene Schusswaffe -
wer die Waffe nicht in einen Tresor wegsperrt darf sich nicht wundern wenn plötzlich
unschuldige Speicherplätze gekillt werden.