Skip to main content

C++ Operators


In C++, operators are symbols that perform specific actions on variables or values. These operators are crucial for constructing expressions, calculations, and controlling logic flow in your programs. Here's a breakdown of the main categories of operators:

1. Arithmetic Operators:

  • Perform basic mathematical operations:
    • +: Addition
    • -: Subtraction
    • *: Multiplication
    • /: Division
    • %: Modulo (remainder after division)
    • ++: Increment (add 1)
    • --: Decrement (subtract 1)

2. Assignment Operators:

  • Assign values to variables:
    • =: Simple assignment
    • +=: Add and assign
    • -=: Subtract and assign
    • *=: Multiply and assign
    • /=: Divide and assign
    • %=: Modulo and assign
    • <<=>>=&=|=^=: Bitwise assignments

3. Comparison Operators:

  • Compare values and return boolean results:
    • ==: Equal to
    • !=: Not equal to
    • <: Less than
    • >: Greater than
    • <=: Less than or equal to
    • >=: Greater than or equal to

4. Logical Operators:

  • Combine boolean expressions:
    • &&: Logical AND (both expressions true)
    • ||: Logical OR (at least one expression true)
    • !: Logical NOT (inverts the expression)

5. Bitwise Operators:

  • Operate on individual bits of data:
    • &: Bitwise AND
    • |: Bitwise OR
    • ^: Bitwise XOR
    • ~: Bitwise NOT
    • <<: Left shift
    • >>: Right shift

6. Other Operators:

  • Address-of operator (&): Returns the memory address of a variable
  • Dereference operator (*): Accesses the value stored at a memory address
  • Member access operators (.->): Access members of structures and classes
  • Conditional (ternary) operator (?:): Short-hand for an if-else statement

7. Operator Precedence and Associativity:

  • Operators have specific precedence levels, determining the order in which they are evaluated in an expression. Parentheses can be used to override the default order.
  • Operators also have associativity (left-to-right or right-to-left), which affects how multiple operators of the same precedence are evaluated.

Remember:

  • Choosing the right operator depends on the data types involved and the desired outcome.
  • Refer to C++ documentation for detailed information on each operator's behavior, precedence, and potential pitfalls.
  • Use parentheses judiciously to clarify expression evaluation order and enhance code readability.

I hope this overview provides a solid understanding of C++ operators. Feel free to ask if you have any questions about specific operators or need further clarification on their usage!

Comments

Popular posts from this blog

C++ Variable

C++ Variables: Named Storage Units In C++, variables serve as named boxes in memory that hold values during program execution. Each variable has three key aspects: 1. Data Type: Defines the kind of data a variable can store: numbers (integers, floating-point, etc.), characters, boolean values (true/false), or custom data structures (arrays, objects). Common data types: int : Whole numbers (e.g., -10, 0, 23) float : Decimal numbers (e.g., 3.14, -2.5) double : More precise decimal numbers char : Single characters (e.g., 'a', 'Z', '&') bool : True or false values 2. Name: A user-defined label for the variable, chosen according to naming conventions: Start with a letter or underscore. Contain letters, digits, and underscores. Case-sensitive (e.g.,  age  and  Age  are different). Not a reserved keyword (e.g.,  int ,  for ). Choose meaningful names that reflect the variable's purpose. 3. Value: The actual data stored in the variable, which must match its data...

C++ Functions

C++ Functions A function is a block of code that performs a specific task. Suppose we need to create a program to create a circle and color it. We can create two functions to solve this problem: a function to draw the circle a function to color the circle Dividing a complex problem into smaller chunks makes our program easy to understand and reusable. There are two types of function: Standard Library Functions:  Predefined in C++ User-defined Function:  Created by users In this tutorial, we will focus mostly on user-defined functions. C++ User-defined Function C++ allows the programmer to define their own function. A user-defined function groups code to perform a specific task and that group of code is given a name (identifier). When the function is invoked from any part of the program, it all executes the codes defined in the body of the function. C++ Function Declaration The syntax to declare a function is: returnType functionName (parameter1, parameter2,...) { // func...

C++ Type Conversion

In C++, type conversion, also known as type casting, allows you to change the data type of a variable. This can be useful for various purposes, but it's important to understand the potential risks and use it cautiously. Here's a breakdown of C++ type conversion: Types of Type Conversion: Implicit Conversion: Done automatically by the compiler when necessary. Common cases: Promoting smaller integer types to larger ones (e.g.,  int  to  float ). Converting characters to integer equivalents (e.g.,  'A'  to  65 ). Assigning expressions with mixed types to a variable of higher precedence (e.g.,  int result = age + 3.14; ). Explicit Conversion: Done manually by the programmer using different methods: C-style casting:   (data_type) expression;  (e.g.,  int age = (int) 3.14; ). Functional notation:   static_cast<data_type>(expression);  (e.g.,  int age = static_cast<int>(3.14); ). Type conversion operators: dynamic_cas...