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

C++ প্রোগ্রামিং-এ সাধারণ অন্ডিফাইনড বিহেভিয়ার (Undefined Behaviour) গুলো

নিচের কেসগুলো C++ স্ট্যান্ডার্ড অনুযায়ী Undefined Behaviour (UB) তৈরি করে, এগুলো থেকে সবসময় बचতে হয়:

  • সাইনড ইন্টিজার ওভারফ্লো (Signed integer overflow)
  • NULL পয়েন্টার, শূন্য-আকারের new রিটার্ন করা পয়েন্টার, অনইনিশিয়ালাইজড পয়েন্টার, অ্যারে বাউন্ডের বাইরের পয়েন্টার ডিরেফারেন্স করা
  • স্কোপ বাইরে যাওয়া বা ডিলিট করা অবজেক্টের পয়েন্টার ব্যবহার করা (Dangling pointer)
  • অ্যারে বাউন্ডের বাইরে পয়েন্টার এরিথমেটিক
  • ইনকম্প্যাটিবল টাইপের পয়েন্টার কনভারশন
  • নেগেটিভ অফসেটে অবজেক্ট/অ্যারে অ্যাক্সেস
  • কনস্ট্রাক্টর/ডিস্ট্রাক্টর থেকে পিউর ভার্চুয়াল ফাংশন কল করা
  • ভ্যালু-রিটার্নিং ফাংশন থেকে ভ্যালু রিটার্ন না করা

মনে রাখবেন: UB মানে প্রোগ্রাম যেকোনো আচরণ দেখাতে পারে - ক্র্যাশ, সাইলেন্ট ডেটা করাপশন, বা দেখায় যে সব ঠিকঠাক চলছে। কম্পাইলার UB ধরে অপ্টিমাইজেশন করতে পারে যা আশ্চর্য ফলাফল দেয়।

  1. সি ভাষায় অ্যারে অফ পয়েন্টার এবং পয়েন্টার টু পয়েন্টার

  2. C প্রোগ্রামিং ভাষায় অ্যারে অফ পয়েন্টার্স ব্যাখ্যা

  3. পয়েন্টার ব্যবহার করে অ্যারে এলিমেন্ট অ্যাক্সেস করার C++ প্রোগ্রাম

  4. C/C++-এ অ্যারে ডিকে (Array Decay) কী?