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