अपरिभाषित व्यवहार केवल व्यवहार है जिसे सी ++ विनिर्देश द्वारा परिभाषित नहीं किया गया है। उदाहरण के लिए, यदि आपके पास i++ +++i जैसे एक्सप्रेशन में कई यूनरी इंक्रीमेंट/डिक्रीमेंट ऑपरेशंस हैं, तो वे ऐसे व्यवहार में परिणत होते हैं जो परिभाषित नहीं है। यह केवल इस तथ्य के कारण है कि कुछ भाषा संरचनाएं वाक्य रचनात्मक रूप से मान्य हैं लेकिन जब कोड चलाया जाता है तो आप व्यवहार की भविष्यवाणी नहीं कर सकते हैं। एक अन्य उदाहरण व्यंजक है:u =(u++);
कार्यान्वयन-परिभाषित व्यवहार विनिर्देश द्वारा अनिर्दिष्ट व्यवहार है और कार्यान्वयनकर्ता के लिए यह तय करने और दस्तावेज करने के लिए छोड़ दिया जाता है कि चुनाव कैसे किया जाता है। इस मामले में, जो चुनाव किया जाता है उसकी गारंटी होनी चाहिए, यानी केवल वही होना चाहिए।
अनिर्दिष्ट व्यवहार के मामले में, C++ मानक कई संभावित पथ प्रदान करता है जिसके लिए दस्तावेज़ीकरण या किसी भी चीज़ की गारंटी के कार्यान्वयन की आवश्यकता नहीं होती है।