একটি স্মার্ট পয়েন্টার হল একটি ক্লাস যা একটি 'কাঁচা' (বা 'বেয়ার') C++ পয়েন্টারকে মোড়ানো হয়। এটি পয়েন্টার নির্দেশিত সংস্থান পরিচালনা করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, যদি সেই মেমরি অবস্থানের রেফারেন্স হারিয়ে যায়। এটি আবর্জনা সংগ্রহকারীর মতো কাজ করে। একাধিক স্মার্ট পয়েন্টার প্রকার আছে।
আপনি প্রায় সবসময় একটি স্মার্ট পয়েন্টার ব্যবহার করা উচিত. কারণ পয়েন্টার ব্যবহার করার প্রধান ব্যথার বিষয় হল ম্যানুয়াল মেমরি ম্যানেজমেন্ট এবং মেমরি লিক। স্মার্ট পয়েন্টার এই উভয় পরিত্রাণ পেতে চেষ্টা করে. আপনি যদি অনুশীলনে এই দুটির কোনোটিই করতে না চান, তাহলে আপনার একটি স্মার্ট পয়েন্টার ব্যবহার করা উচিত।