यह इस तथ्य के कारण है कि C++ बाउंड चेकिंग नहीं करता है। जावा और पायथन जैसी भाषाओं में सीमा जांच होती है, इसलिए यदि आप सीमा से बाहर तत्व तक पहुंचने का प्रयास करते हैं, तो वे एक त्रुटि फेंक देते हैं। C++ डिज़ाइन सिद्धांत यह था कि यह समतुल्य C कोड से धीमा नहीं होना चाहिए, और C सरणी सीमा जाँच नहीं करता है।
इसलिए यदि आप इसे सीमा से बाहर एक्सेस करने का प्रयास करते हैं, तो आपके प्रोग्राम का व्यवहार अपरिभाषित है क्योंकि यह C++ मानक में लिखा गया है। सामान्य तौर पर, जब भी आपका सामना अपरिभाषित व्यवहार से होता है, तो कुछ भी हो सकता है। एप्लिकेशन क्रैश हो सकता है, यह फ्रीज हो सकता है, यह ठीक चल सकता है (या कम से कम ठीक चलता प्रतीत होता है), यह अन्य अनुप्रयोगों (वास्तव में आधुनिक ऑपरेटिंग सिस्टम पर नहीं) आदि में हस्तक्षेप कर सकता है।