Smart Pointers הם אובייקטים המתנהגים כמו מצביעים רגילים, אולם מציעים פונקציונליות נוספת. Smart Pointers הם שם כללי לאובייקטים החושפים למשתמש בהם התנהגות הדומה לזו של מצביעים. שפת ++C כוללת מימוש של smart pointers בספריה הסטנדרטית שלה, בשם auto_ptr. במסמך זה נציג את השימוש בהם.