কম্পিউটার

c++ এ ++*p, *p++ এবং *++p এর মধ্যে পার্থক্য


এই বিভাগে আমরা 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' প্রিন্ট করছে।


  1. C++ প্রোগ্রামে 'struct' এবং 'typedef struct' এর মধ্যে পার্থক্য?

  2. C++ এ নতুন অপারেটর এবং নতুন অপারেটরের মধ্যে পার্থক্য?

  3. C++ এ 'struct' এবং 'typedef struct' এর মধ্যে পার্থক্য?

  4. C++ স্ট্রিং ধ্রুবক এবং অক্ষর ধ্রুবকের মধ্যে পার্থক্য