C++ tokens are the smallest building blocks in C++ programs that the compiler
understands. Essentially, every word in a C++ source code can be considered a
token.
Types of Tokens in C++
C++ has several types of tokens, each serving a specific purpose in the
language's syntax and semantics. The main types of tokens in C++ include:
- Identifiers
- Keywords
- Constants
- Strings
- Special Symbols
- Operators
1. Identifiers
Identifiers are unique names given to entities like variables, functions,
classes, or structs. These names help identify and reference the entities in
your code.
Rules for Identifiers:
- Must start with a letter or an underscore (_).
- Can include letters, digits, and underscores, but no spaces or special characters.
- Cannot be a keyword.
- Must be unique within its namespace.
- C++ is case-sensitive, so `first_name` and `First_name` are different.
Examples:
Valid Identifiers | Invalid Identifiers |
---|---|
_name | #name (Cannot start with special character except '_') |
Number89 | 2num (Cannot start with a digit) |
first_name | first name (Cannot include space) |
_last_name_ | string (Cannot be the same as a keyword) |
2. Keywords
Keywords in C++ are reserved words that have special meanings and functions
within the language. These cannot be used as identifiers.
Examples of Keywords:
- `int`, `char`, `class`, `const`, `return`, `while`, `for`, `if`, `else`,
`switch`
There are 95 reserved keywords in C++. Some common ones include:
break | try | catch | char | class | const | continue |
default | delete | auto | else | friend | for | float |
long | new | operator | private | protected | public | return |
short | sizeof | static | this | typedef | enum | throw |
mutable | struct | case | register | switch | and | or |
namespace | static_cast | goto | not | xor | bool | do |
double | int | unsigned | void | virtual | union | while |
3. Constants
Constants are fixed values that do not change during the execution of a
program. They can be defined using the `const` keyword or the `#define`
preprocessor directive.
Defining Constants:
- Using `const`: `const int MAX_SIZE = 100;`
- Using `#define`: `#define MAX_SIZE 100`
4. Strings
In C++, strings are sequences of characters treated as a single data element.
They are not a built-in data type but are provided through the Standard
Template Library (STL).
Example:
string first_name = "Henery";
Strings in C++ are objects that provide various methods such as `length()`,
`push_back()`, and `pop_back()`.
5. Special Symbols
Special symbols in C++ have specific meanings and uses. They include:
- Semicolon (;): Ends statements.
- Square Brackets ([]): Used for arrays.
- Curly Braces ({}): Define code blocks.
- Scope Resolution (::): Accesses class or namespace members.
- Dot (.): Accesses members of structs or classes.
- Assignment Operator (=): Assigns values to variables.
- Double Quotes (""), Single Quotes (''): Enclose string literals and character literals, respectively.
6. Operators
Operators perform operations on variables and values. They are categorized
into:
Unary Operators:
Work with a single operand.
Examples: Increment (`++`), Decrement (`--`).
Binary Operators:
Work with two operands.
Examples: Arithmetic (`+`, `-`, `*`, `/`, `%`), Comparison (`==`, `!=`,
`<`, `>`, `<=`, `>=`), Logical (`&&`, `||`, `!`),
Assignment (`=`, `+=`, `-=`, `*=`, `/=`, `%=`), Bitwise (`&`, `|`, `^`,
`~`, `<<`, `>>`).
Ternary Operator:
Works with three operands.
Syntax: `condition ? expression1 : expression2;`
Example: `int a = (b > c) ? b : c;`
Conclusion
Understanding the basics of C++ tokens is essential for writing clear and
effective C++ programs. By knowing the types and uses of different tokens, you
can write more readable and maintainable code. Remember to follow the rules
for identifiers, utilize keywords appropriately, define constants correctly,
and apply the right operators for your operations.
Tips for Beginners:
- Always choose meaningful names for identifiers.
- Avoid using keywords as identifiers.
- Use comments to explain the purpose of constants and complex expressions.
- Practice using different types of operators to understand their functions.
Additional Resources
Official C++ Documentation: For a deeper dive into C++ tokens and other
language features.
Online Tutorials and Courses: Websites like Codecademy, Coursera, and
Udemy offer courses on C++ programming.
Books: "The C++ Programming Language" by Bjarne Stroustrup and
"Effective C++" by Scott Meyers are excellent resources.
By incorporating these tips and resources, you can enhance your understanding
of C++ and improve your coding skills.