কম্পিউটার

C++ প্রোগ্রামে i++ এবং ++i এর মধ্যে কর্মক্ষমতার পার্থক্য আছে কি?


i++ এবং ++i এর কার্যকরী ফলাফল একই। শুধুমাত্র পার্থক্য হল যে i++ এটি নির্ধারণ করার পরে i এর মান বাড়ায় এবং ++i এর জন্য, এটি প্রথমে মান বাড়ায়, তারপর তার মান নির্ধারণ করে। আমরা নিচের কোডে পার্থক্য দেখতে পাচ্ছি।

উদাহরণ কোড

#include<iostream>
using namespace std;
int main() {
   int x = 3, y, z;
   y = x++;
   z = ++x;
   cout << x << ", " << y << ", " << z;
   return 0;
}

আউটপুট

5, 3, 5

এখন, প্রশ্ন আসে, যেহেতু তারা একই কাজ করছে কিন্তু ভিন্ন ক্রমে, তাহলে কি পারফরম্যান্সের সমস্যা আছে নাকি উভয়ই একই?

ভাল, এই ক্রিয়াকলাপগুলির কার্যকারিতা অন্তর্নিহিত আর্কিটেকচারের উপর অত্যন্ত নির্ভরশীল। একটি হল ক্রমবর্ধমান মান যা মেমরিতে সংরক্ষণ করা হয়, এর অর্থ হল ভন-নিউম্যান বটলনেক মূলত উভয় ক্ষেত্রেই সীমিত ফ্যাক্টর।

যদিও আমরা বলতে পারি যে ++i i++ এর চেয়ে কিছুটা দ্রুত। i++ বৃদ্ধি করার আগে i-এর মানের স্থানীয় অনুলিপি নেয়, যখন ++i কখনই তা করে না। কখনও কখনও কিছু কম্পাইলার সম্ভব হলে কোড অপ্টিমাইজ করে। কিন্তু সেই অপ্টিমাইজেশন সবসময় কার্যকর হয় না, বা সব কম্পাইলার এই কাজটি করে না।


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

  2. C++ এ আক্ষরিক এবং ধ্রুবকের মধ্যে পার্থক্য কী?

  3. C++ এ উপসর্গ এবং পোস্টফিক্স অপারেটরগুলির মধ্যে পার্থক্য কী?

  4. C++ এ ++i এবং i++ এর মধ্যে পার্থক্য কী?