C++ দুটি পয়েন্টার অপারেটর প্রদান করে, যেটি হল অপারেটরের ঠিকানা (&) এবং ইনডিরেকশন অপারেটর (*)। একটি পয়েন্টার একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা ধারণ করে বা আপনি বলতে পারেন যে একটি ভেরিয়েবল যেটিতে অন্য ভেরিয়েবলের ঠিকানা রয়েছে তাকে অন্য ভেরিয়েবলকে "পয়েন্ট টু" বলা হয়। একটি ভেরিয়েবল একটি অবজেক্ট, স্ট্রাকচার বা আবার পয়েন্টার সহ যেকোনো ডেটা টাইপ হতে পারে।
ইনডাইরেকশন অপারেটর (*), এবং এটি &এর পরিপূরক। এটি একটি ইউনারি অপারেটর যা তার অপারেন্ড দ্বারা নির্দিষ্ট ঠিকানায় অবস্থিত ভেরিয়েবলের মান প্রদান করে। উদাহরণস্বরূপ,
উদাহরণ
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // take the address of var ptr = &var; // take the value available at ptr val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
আউটপুট
যখন উপরের কোডটি কম্পাইল এবং এক্সিকিউট করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে −
Value of var : 3000 Value of ptr : 0xbff64494 Value of val : 3000