Smart
pointer C++ standart kütüphanesinde #include
<memory>
header dosyasında tanımlıdır ve amacı kaynak yönetiminin
otomatik gerçekleştirilmesini sağlamaktır. Pointer 'lar hafızada
belirli bir alanın adresini gösterir ve bu alanda verinin tutulması
için hafızada yer açma ve ilgili veri ile işlem bittiğinde bu
verinin silinmesi sorumluluğu programcıya aittir. Smart pointer
larda ise hafızanın boşaltılması işlemi otomatik olarak uygun
bir zamanda gerçekleştirilir.Uygun zaman biraz ucu açık bir
kavram tabi ki, isterseniz şimdi bir örnek üzerinden normal (raw)
pointer ile smart pointer farkını, hafızanın nasıl otomatik
silindiğine dair bir örnek üzerinden görelim;