C++ assignment operators

Created By: chatGPT

In C++, assignment operators are used to assign values to variables. The most common assignment operator is the simple = operator, which assigns the value of the right-hand operand to the left-hand operand. Apart from the basic assignment operator, C++ supports several compound assignment operators that combine an arithmetic operation with assignment. This enhances code readability and reduces redundancy.
int a = 5;
int b = 10;
a = b;  // Assigns the value of b to a
Compound assignment operators include +=, -=, *=, /=, and %=. These operators first perform the operation and then assign the result to the left-hand operand. For instance, a += b; is equivalent to a = a + b;. This concise notation is particularly useful in loops and algorithms, where readability is paramount.
int a = 5;
int b = 2;
a += b;  // a is now 7
In addition to arithmetic compound assignments, C++ also provides bitwise compound assignment operators such as &=, |=, ^=, <<=, and >>=. These operators allow manipulation of bits directly, which can be useful in performance-critical applications and low-level programming.
unsigned int a = 5; // binary 0101
unsigned int b = 3; // binary 0011
a &= b;  // a is now 1 (binary 0001)
When using assignment operators, it is also important to understand operator overloading in C++. This allows developers to define custom behavior for assignment when dealing with user-defined types (like classes). This can enhance the usability and functionality of objects, making them behave more like built-in types.
class MyClass {
public:
    int value;
    MyClass(int val) : value(val) {}
    MyClass& operator=(const MyClass& other) {
        value = other.value;
        return *this;
    }
};

MyClass obj1(10);
MyClass obj2(20);
obj1 = obj2;   // obj1.value is now 20
Introduction And SetupVariablesData TypesIntFloatDoubleCharBoolStringVoidConstantsOperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsBitwise OperatorsAssignment OperatorsTernary OperatorControl FlowIf StatementElse StatementElse If StatementSwitch StatementFor LoopWhile LoopDo While LoopBreak StatementContinue StatementGoto StatementFunctionsFunction DeclarationFunction DefinitionFunction OverloadingInline FunctionsDefault ArgumentsRecursionPass By ValuePass By ReferenceData StructuresArraysMultidimensional ArraysStructsEnumsUnionsClassesObjectsMember FunctionsConstructorsDestructorsAccess SpecifiersPublicPrivateProtectedInheritancePolymorphismFunction OverridingVirtual FunctionsPure Virtual FunctionsOperator OverloadingTemplatesNamespaceCommentsSingle Line CommentsMulti Line CommentsSyntaxSemicolonCurly BracesParenthesesEvent HandlingCinCoutError HandlingTry BlockCatch BlockThrow StatementException HandlingPreprocessor DirectivesInclude GuardsMacro DefinitionsInline AssemblyStatic KeywordsExtern KeywordsConst KeywordsVolatile KeywordsFriend FunctionStatic MemberThis PointerDynamic Memory AllocationNew OperatorDelete Operator