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