এই বিভাগে, আমরা C++ এ *ptr++, *++ptr এবং ++*ptr-এর মধ্যে পার্থক্য কী তা দেখব।
এখানে আমরা C বা C++ এ পোস্টফিক্স++ এবং প্রিফিক্স++ এর অগ্রাধিকার দেখতে পাব। উপসর্গ ++ বা ---এর অগ্রাধিকার ডিরেফারেন্স অপারেটর ‘*’ এবং পোস্টফিক্স ++ বা ---এর অগ্রাধিকার ++ এবং ডিরেফারেন্স অপারেটর ‘*’ উভয়ের চেয়ে বেশি।
যখন ptr একটি পয়েন্টার হয়, তখন *ptr++ নির্দেশ করে *(ptr++) এবং ++*prt নির্দেশ করে ++(*ptr)
উদাহরণ কোড
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; ++*ptr; cout << *ptr; return 0; }
আউটপুট
I
তাই এখানে প্রথম ptr নির্দেশ করছে 'H'। ++*ptr ব্যবহার করার পর এটি H 1 দ্বারা বৃদ্ধি পায় এবং এখন মান হল 'I'৷
উদাহরণ কোড
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *ptr++; cout << *ptr; return 0; }
আউটপুট
e
তাই এখানে প্রথম ptr নির্দেশ করছে 'H'। *ptr++ ব্যবহার করার পর এটি পয়েন্টার বাড়ায়, তাই ptr পরবর্তী উপাদানের দিকে নির্দেশ করবে। তাই ফলাফল হল 'e'।
উদাহরণ কোড
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *++ptr; cout << *ptr; return 0; }
আউটপুট
e
এই উদাহরণেও আমরা ++ ব্যবহার করে ptr বাড়াচ্ছি, যেখানে প্রি-ইনক্রিমেন্ট ++ এর অগ্রাধিকার বেশি, তারপর এটি প্রথমে পয়েন্টার বাড়ায়, তারপর * ব্যবহার করে মান নিচ্ছি। তাই এটি 'e' প্রিন্ট করছে।