কম্পিউটার

কেন সীমার বাইরে একটি অ্যারে অ্যাক্সেস করা C++ এ কোন ত্রুটি দেয় না?


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

সুতরাং আপনি যদি মেমরির বাইরে এটি অ্যাক্সেস করার চেষ্টা করেন তবে আপনার প্রোগ্রামের আচরণটি অনির্ধারিত থাকে কারণ এটি C++ স্ট্যান্ডার্ডে লেখা আছে। সাধারণভাবে, যখনই আপনি অনির্ধারিত আচরণের মুখোমুখি হন, যে কোনও কিছু ঘটতে পারে। অ্যাপ্লিকেশনটি ক্র্যাশ হতে পারে, এটি হিমায়িত হতে পারে, এটি সূক্ষ্মভাবে চলতে পারে (অথবা অন্তত সূক্ষ্মভাবে চলতে পারে), এটি অন্যান্য অ্যাপ্লিকেশনগুলিতে হস্তক্ষেপ করতে পারে (আধুনিক অপারেটিং সিস্টেমে নয়) ইত্যাদি৷


  1. একটি অ্যারের উপাদান যা C++ এ অন্য অ্যারের কোনো উপাদান দ্বারা বিভাজ্য নয়

  2. C++ এ একটি পূর্ণসংখ্যা অ্যারের মধ্যমা খুঁজে বের করার প্রোগ্রাম

  3. কেন একটি খালি ক্লাসের আকার C++ এ শূন্য নয়?

  4. একটি অ্যারে প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে না তা পরীক্ষা করার জন্য প্রোগ্রাম