কম্পিউটার টিউটোরিয়াল

C++-এ *ptr++, *++ptr এবং ++*ptr এর পার্থক্য

এই বিভাগে দেখব C++-এ *ptr++, *++ptr এবং ++*ptr এর পার্থক্য।

C/C++-এ postfix ++ এবং prefix ++-এর প্রেসিডেন্স: prefix ++ বা ---এর প্রাযতিক ডিরেফারেন্স অপারেটর *-এর চেয়ে বেশি, আর postfix ++ বা ---এর প্রাযতিক prefix ++ এবং *-এর চেয়েও বেশি।

যখন ptr একটি পয়েন্টার, তবে *ptr++ বোঝায় *(ptr++) এবং ++*ptr বোঝায় ++(*ptr)।

উদাহরণ কোড: ++*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'-র মান ১ বাড়ে এবং 'I' হয়।

উদাহরণ কোড: *ptr++

#include <iostream>
using namespace std;

int main() {
    char arr[] = "Hello World";
    char* ptr = arr;
    *ptr++;
    cout << *ptr;
    return 0;
}

আউটপুট

e

*ptr++ ব্যবহার করলে পয়েন্টারটিই বাড়ে, ফলে ptr পরবর্তী এলিমেন্টে ('e') পয়েন্ট করে।

উদাহরণ কোড: *++ptr

#include <iostream>
using namespace std;

int main() {
    char arr[] = "Hello World";
    char* ptr = arr;
    *++ptr;
    cout << *ptr;
    return 0;
}

আউটপুট

e

এখানোর প্রি-ইনক্রিমেন্ট ++-এর প্রেসিডেন্স বেশি, তাই প্রথমে পয়েন্টার বাড়ে, তারপর * দিয়ে মান নেয়। ফলে 'e' প্রিন্ট হয়।

  1. C++-এ ফুটবলে পেন্টাগন এবং হেক্সাগন সংখ্যা বের করুন

  2. সি++-এ * এবং / অপারেটর ছাড়া ১৫ দিয়ে গুণফল বের করা

  3. মডুলো অপারেটর ছাড়া ৩ ও ৫-এর গুণিতক বের করা - সি++

  4. OpenCV-এ C++ ব্যবহার করে ইমেজ লোড ও প্রদর্শন করা