C++ Keywords

In C++, keywords are reserved words that have special meanings to the compiler. They cannot be used for any other purpose or as identifiers, such as variables or function names. It’s a predefined words that are part of the C++ syntax. They help define the structure and behavior of the code.

Basic Data Type keywords

These keywords define basic data types −

  • int − integer data type.
  • char − character data type.
  • float − single-precision floating-point data type.
  • double − double-precision floating-point data type.
  • void − indicates no value or type; commonly used for functions that do not return a value.
  • Bool − boolean data type (true or false).
  • wchar_t − Represents wide character type mainly useful for internationalization.

Control Flow Keywords

Control flow keywords are special reserved words in programming that are used for implementing decision-making and repetitive tasks in programming.

  • Conditional Statements − if, else, switch, case, default
  • Looping Constructs − for, while, do
  • Control Statements − break, continue, return, goto

Storage Class Keywords

These keywords specify the storage duration and linkage of variables −

  • auto − The compiler automatically deduces the variable’s type (in C++11 and later).
  • Register − It suggests that the variable should be stored in a CPU register for faster access.
  • Static − It indicates that the variable retains its value even after the scope in which it was defined ends.
  • extern − It declares a variable that is defined in another translation unit.
  • Mutable − It allows a member of a class to be modified even if the object is constant.

Modifiers

These keywords are used in modifying the properties of data types −

  • const − It indicates that a variable’s value cannot be changed after initialization.
  • volatile − It indicates that a variable’s value may change unexpectedly, preventing certain compiler optimizations.
  • signed − It indicates that a data type can hold both positive and negative values.
  • unsigned − It indicates that a data type can only hold non-negative values.
  • short − It indicates a shorter version of the integer type.
  • long − It indicates a longer version of the integer type.

Function Keywords

These keywords define specific behavior for functions

  • inline − Suggests to the compiler to attempt to expand the function inline, reducing the overhead of a function call.
  • virtual − Indicates that a function can be overridden in derived classes.
  • explicit − Prevents implicit conversions for constructors or conversion operators.

Class and Object Keywords

These keywords are fundamental concepts in object-oriented programming (OOP) that enable developers to define and manipulate user-defined data types.

  • Class Definitions − class, struct, union, enum
  • Namespace Management − namespace, this
  • Memory Management − new, delete

Access Specifiers

Access specifiers are keywords in object-oriented programming that define the accessibility or visibility of class members (attributes and methods) to other parts of a program.

  • public
  • protected
  • private

Exception Handling Keywords

These keywords are used for handling exceptions

  • try − It defines a block of code to be tested for exceptions.
  • catch − It defines a block of code that handles exceptions thrown by a corresponding try.
  • throw − Used to signal the occurrence of an exception.

Operator Keywords

Operator keywords are keywords that allow you to define or change how operators (like +, -, *, etc.) work with custom data types, such as classes.

  • sizeof
  • typeid
  • alignof
  • alignas

Namespace Keywords

These keywords manage the scope of identifiers

  • namespace − Defines a scope that can contain identifiers to avoid name collisions.
  • using − Allows the use of names from a namespace without qualification.

Type Casting Keywords

These keywords are used for explicit type conversions

  • static_cast − It performs a compile-time type check and conversion.
  • dynamic_cast − Safely converts pointers or references within an inheritance hierarchy (requires RTTI).
  • const_cast − It adds or removes const or volatile qualifiers.
  • reinterpret_cast − It converts any pointer type to any other pointer type with no safety checks.

Miscellaneous Keywords

Some other keywords provided by the C++ library, that serve various purposes beyond the core functionalities of data types, control flow, or object-oriented programming.

  • using, typedef
  • Type Traits − decltype, static_assert
  • Casting Operators − static_cast, dynamic_cast, const_cast, reinterpret_cast

Keywords Vs. Identifiers

Keywords are predefined and reserved by the programming language, it has specific functions and meanings in the language while identifiers are user-defined names for program elements, They are created to represent variables, functions, and other entities in the code.

Example

KeywordsIdentifiers
int, float, while, public, private, class, return, etc.myVariable, calculateSum, Person, _tempValue, etc.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *