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