দাবি অস্বীকার : আমি উপসর্গ এবং পোস্টফিক্স ইনক্রিমেন্টের শব্দার্থক সম্পর্কে ভালভাবে জানি। সুতরাং দয়া করে তারা কীভাবে কাজ করে তা আমাকে ব্যাখ্যা করবেন না।
স্ট্যাক ওভারফ্লোতে প্রশ্নগুলি পড়া, আমি সাহায্য করতে পারছি না তবে লক্ষ্য করুন যে প্রোগ্রামাররা বার বার পোস্টফিক্স ইনক্রিমেন্ট অপারেটর দ্বারা বিভ্রান্ত হয়। এগুলি থেকে নিম্নলিখিত প্রশ্নটি উত্থাপিত হয়: কোনও কোড রয়েছে যেখানে পোস্টফিক্স ইনক্রিমেন্ট কোডের মানের ক্ষেত্রে একটি সত্যিকারের সুবিধা দেয়?
আমাকে একটি উদাহরণ দিয়ে আমার প্রশ্নটি পরিষ্কার করুন। এখানে একটি সুপার-সংশ্লেষ বাস্তবায়ন strcpy
:
while (*dst++ = *src++);
তবে এটি আমার বইয়ের সর্বাধিক স্ব-ডকুমেন্টিং কোড নয় (এবং এটি বুদ্ধিমান সংকলকগুলিতে দুটি বিরক্তিকর সতর্কতা উত্পন্ন করে)। তাহলে নিম্নলিখিত বিকল্পের সাথে কী ভুল?
while (*dst = *src)
{
++src;
++dst;
}
এরপরে আমরা শর্তের মধ্যে বিভ্রান্তিকর দায়িত্ব থেকে মুক্তি পেতে এবং সম্পূর্ণ সতর্কতা-মুক্ত কোড পেতে পারি:
while (*src != '\0')
{
*dst = *src;
++src;
++dst;
}
*dst = '\0';
(হ্যাঁ আমি জানি, src
এবং dst
এই বিকল্প সমাধানগুলিতে পৃথক পৃথক মান রয়েছে, তবে যেহেতু strcpy
লুপের পরে অবিলম্বে ফিরে আসবে, এ ক্ষেত্রে এটি কোনও বিষয় নয়))
দেখে মনে হচ্ছে পোস্টফিক্স ইনক্রিমেন্টের উদ্দেশ্যটি কোডটি যতটা সম্ভব নিখরচায় করা। আমি সহজেই এটি দেখতে আমাদের ব্যর্থ হওয়া উচিত something এটি যদি মূলত পারফরম্যান্স সম্পর্কেই ছিল তবে আজও কি এটি প্রাসঙ্গিক?
int c = 0; c++;
strcpy
এই পদ্ধতিটি আসলে কোড করবে (যে কারণে আপনি ইতিমধ্যে উল্লেখ করেছেন)।