Kincs ami nincs a
longint, ha pointered
semmibe mutat.
Egy nagy C++ modulban a memóriahatékonyság miatt pointereket is szép számmal tartalmazó kisebb objektumot küldözgettünk át egy csomó feldolgozó osztályon. Közben persze elkövettük az ilyenkor lehetséges összes hibát:
- megjegyeztük a stacken létrehozott változó címét
- nem készítettünk a copy konstruktort az osztályhoz, aztán mégis másolgattuk az objetumokat
- nem inicializáltuk a pointereket, aztán használtuk őket
- tesztelés nélkül használtuk a null-pointereket éles bevetésen
és még számtalan egyebet is, mert ugye végtelen a pointerekkel összefüggő hibák tárháza. Mikor már elviselhetetlenné nőttek a karbantartási költségek egy nagyobb lélegzetvételű újraírás következett. Hosszabb tanakodás után persze egy referenciaszámláláson alapuló smart-pointer rendszer lett a befutó és azóta is szolgál mindenki megelégedésére. Messze behozta már a ráfordított költségeket.