কম্পিউটার

সি এবং সি++ এ অনির্ধারিত, অনির্দিষ্ট এবং বাস্তবায়ন-সংজ্ঞায়িত আচরণের মধ্যে পার্থক্য?


অনির্ধারিত আচরণ হল এমন আচরণ যা C++ স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত করা হয় না। উদাহরণ স্বরূপ, i++ + ++i-এর মত একটি এক্সপ্রেশনে যদি আপনার একাধিক ইউনারি ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেশন থাকে, তাহলে সেগুলি এমন আচরণে পরিণত হয় যা সংজ্ঞায়িত করা হয়নি। এটি কেবল এই কারণে যে কিছু ভাষা নির্মাণগুলি সিনট্যাক্টিকভাবে বৈধ তবে কোডটি চালানোর সময় আপনি আচরণের পূর্বাভাস দিতে পারবেন না। আরেকটি উদাহরণ হল অভিব্যক্তি:u =(u++);

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

অনির্দিষ্ট আচরণের ক্ষেত্রে, C++ স্ট্যান্ডার্ড একাধিক সম্ভাব্য পাথ প্রদান করে যা কোনো কিছুর নথি বা গ্যারান্টি দেওয়ার জন্য বাস্তবায়নের প্রয়োজন হয় না।


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

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

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

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