2024 লেখক: Elizabeth Oswald | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-13 00:04
অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ, যেমন C, গতি বাড়াতে কখনই স্বয়ংক্রিয় সীমানা পরীক্ষা করে না। যাইহোক, এটি অনেকগুলি একের পর এক ত্রুটি এবং বাফার ওভারফ্লোগুলিকে ধরা পড়েনি। অনেক প্রোগ্রামার বিশ্বাস করেন যে এই ভাষাগুলি দ্রুত কার্যকর করার জন্য অনেক বেশি ত্যাগ স্বীকার করে৷
বাউন্ড চেকিং কি অ্যারেতে করা হয়েছে?
বিমূর্ত। অ্যারে বাউন্ড চেকিং একটি প্রোগ্রামের সমস্ত অ্যারে রেফারেন্স তাদের ঘোষিত রেঞ্জের মধ্যে কিনা তা নির্ধারণ করতে বোঝায়। এই চেকিং সফ্টওয়্যার যাচাইকরণ এবং বৈধতার জন্য গুরুত্বপূর্ণ কারণ তাদের ঘোষিত আকারের বাইরে সাবস্ক্রিপটিং অ্যারেগুলি অপ্রত্যাশিত ফলাফল, নিরাপত্তা গর্ত বা ব্যর্থতা তৈরি করতে পারে৷
সি-র সীমানা পরীক্ষা নেই কেন?
এটি এই কারণে যে C++ সীমানা চেকিং করে না। … C++ ডিজাইনের নীতি ছিল যে এটি সমতুল্য C কোডের চেয়ে ধীর হওয়া উচিত নয় এবং C অ্যারে বাউন্ড চেকিং করে না। সুতরাং আপনি যদি মেমরির বাইরে এটি অ্যাক্সেস করার চেষ্টা করেন তবে আপনার প্রোগ্রামের আচরণটি অনির্ধারিত হবে কারণ এটি C++ স্ট্যান্ডার্ডে লেখা আছে।
সি অ্যারে সূচকগুলি কি রানটাইমে চেক করা হয়?
আসল সমস্যা হল C এবং C++ বাস্তবায়ন সাধারণত সীমানা চেক করে না (সংকলন বা রানটাইমে না)। তারা তা করার সম্পূর্ণ অনুমতি পেয়েছে। এর জন্য ভাষাকে দোষারোপ করবেন না।
কি হবে যদি একটি অ্যারে সি-তে সীমার বাইরে চলে যায়?
ArrayIndexOutOfBoundsException ঘটতে পারে যদি একটি অ্যারে সীমার বাইরে অ্যাক্সেস করা হয়। কিন্তুসি-তে তেমন কোনো কার্যকারিতা নেই এবং কোনো অ্যারে সীমার বাইরে অ্যাক্সেস করা হলে অনির্ধারিত আচরণ ঘটতে পারে। একটি প্রোগ্রাম যা C তে এটি প্রদর্শন করে তা নিম্নরূপ দেওয়া হয়েছে৷