Token** là đơn vị nhỏ nhất có nghĩa trong chương trình C++ đối với trình biên dịch. Parser C++ nhận diện các loại token: identifiers, keywords, literals, operators, punctuators, separators. Một luồng token tạo thành translation unit. Token thường tách nhau bởi whitespace.
Parser nhận diện: keywords, identifiers, literals, operators, punctuators. Preprocessing tokens (#include, #define, #ifdef...) dùng trong giai đoạn tiền xử lý để tạo luồng token cho compiler. Các loại preprocessing token: header names, identifiers, preprocessing numbers, character/string literals, v.v.
Identifier (định danh)** là bất kỳ tên nào do người dùng đặt: tên biến, hàm, struct, class, namespace, enum, v.v.
Keyword (từ khóa)** là identifier được dành riêng (reserved), không thể dùng làm tên biến/hàm/class trong chương trình.