একটি টোকেন হলো একটি C++ প্রোগ্রামের সবচেয়ে ছোট এলিমেন্ট যা কম্পাইলার کے জন্য meaningful। C++ পারসার এই ধরনের টোকেনগুলো চিনতে পারে: আইডেন্টিফায়ার, কিওয়ার্ড, লিটারেল, অপারেটর, পঙ্কচুয়েটর, এবং অন্যান্য সেপারেটর। এই টোকেন들의 একটি স্ট্রিম একটি ট্রান্সলেশন ইউনিট তৈরি করে। টোকেনগুলো সাধারণত হোয়াইট স্পেস দ্বারা বিভক্ত থাকে।
পারসার কিওয়ার্ড, আইডেন্টিফায়ার, লিটারেল, অপারেটর, এবং পঙ্কচুয়েটর চিনতে পারে। প্রিপ্রসেসিং টোকেন (যেমন #include, #define, #if_def, ইত্যাদি) প্রিপ্রসেসিং ফেজে ব্যবহৃত হয় কম্পাইলারের কাছে পাস করার জন্য টোকেন স্ট্রিম জেনারেট করতে। প্রিপ্রসেসিং টোকেন ক্যাটাগরিগুলো হলো: হেডার নাম, আইডেন্টিফায়ার, প্রিপ্রসেসিং নম্বর, ক্যারেক্টার লিটারেল, স্ট্রিং লিটারেল, ইত্যাদি যা অন্য ক্যাটাগরির সাথে মেলে না। ক্যারেক্টার এবং স্ট্রিং লিটারেল ইউজার-ডিফাইন্ড লিটারেল হতে পারে। প্রিপ্রসেসিং টোকেনগুলো হোয়াইট স্পেস বা কমেন্ট দ্বারা বিভক্ত হতে পারে।
পারসার ইনপুট স্ট্রিম থেকে টোকেন আলাদা করে বাম থেকে ডান স্ক্যান করে সবচেয়ে লম্বা সম্ভব টোকেন তৈরি করে।