কম্পিউটার

C++ এ কি সেগমেন্টেশন ফল্ট প্রকৃত অনির্ধারিত আচরণ?


অনির্ধারিত আচরণ হল বাস্তবায়নকারীদের স্বাধীনতা দেওয়ার একটি উপায় (যেমন কম্পাইলার বা OS-এর) এবং কম্পিউটারগুলিকে তারা যা চায় তাই করতে, অন্য কথায়, পরিণতি সম্পর্কে চিন্তা না করার জন্য।

যে ক্ষেত্রে সেগমেন্টেশন ফল্ট ঘটে সেগুলি ক্ষণস্থায়ী প্রকৃতির। এগুলি সর্বদা একটি বিভাজন ত্রুটির কারণ হবে না তবে সঠিকভাবে চলতে পারে (বা কমপক্ষে প্রদর্শিত হবে)। উদাহরণস্বরূপ, নিম্নলিখিত কোড খণ্ডটি বিবেচনা করুন −

#include<iostream>
int main() {
    int arr[2];
    arr[0] = 0;
    arr[1] = 1;
    arr[2] = 2; // Undefined behaviour
    arr[3] = 3; // Undefined behaviour
}

এই কোডটি সঠিকভাবে চলতে পারে বা একটি বিভাজন ত্রুটি হতে পারে। এটি সত্যিই সংজ্ঞায়িত এবং বাস্তবায়ন-নির্ভর নয়। আপনি এখানে অনির্ধারিত আচরণ সম্পর্কে আরও পড়তে পারেন - https://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html


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

  2. লিনাক্সে C++ এর সেরা IDE কি?

  3. লিনাক্সে c++ এর জন্য শীর্ষ IDE কি?

  4. উইন্ডোতে c++ এর জন্য শীর্ষ IDE কি?