Binary Operators Summary (C++)
Go Up to Binary Operators Index
These are the binary operators in C++Builder:
Contents
Arithmetic Operators
For more information, see Arithmetic Operators (Unary).
Arithmetic Operator | Description | Arithmetic Operator | Description |
---|---|---|---|
|
Binary plus (add) |
|
Binary minus (subtract) |
|
Multiply |
|
Divide |
|
Remainder (modulus) |
Bitwise Operators
For more information, see Bitwise Operators.
Bitwise Operator | Description | Bitwise Operator | Description |
---|---|---|---|
|
Shift left |
|
Shift right |
|
Bitwise AND |
|
Bitwise XOR (exclusive OR) |
|
Bitwise inclusive OR |
Logical Operators
For more information, see Logical Operators.
Logical Operator | Description |
---|---|
|
Logical AND |
Assignment Operators
For more information, see:
Assignment Operator | Description | Assignment Operator | Description |
---|---|---|---|
|
Assignment |
|
Assign product |
|
Assign quotient |
|
Assign remainder (modulus) |
|
Assign sum |
|
Assign difference |
|
Assign left shift |
|
Assign right shift |
|
Assign bitwise AND |
|
Assign bitwise XOR |
|
Assign bitwise OR |
Relational Operators
For more information, see:
Relational Operator | Description | Relational Operator | Description |
---|---|---|---|
|
Less than |
|
Greater than |
|
Less than or equal to |
|
Greater than or equal to |
|
Equal to |
|
Not equal to |
Component Selection Operators
For more information, see Overloading the Class Member Access Operator ->.
Component Selection Operator | Description |
---|---|
|
Direct component selector |
|
Indirect component selector |
Class Member Operators
For more information, see:
Class Member Operator | Description |
---|---|
|
Scope access/resolution Use the scope access (or resolution) operator :: (two colons) to access a global (or file duration) name even if it is hidden by a local redeclaration of that name. |
|
Dereference pointer to class member Use the .* operator to dereference pointers to class members. The first operand must be a class type. If the type of the first operand is class type TFoo, or is a class that has been derived from class type TFoo, the second operand must be a pointer to a member of a class type TFoo. |
|
Dereference pointer to class member Use the ->* operator to dereference pointers to class members. The first operand must be a pointer to a class type. If the type of the first operand is a pointer to class type TFoo, or is a pointer to a class derived from class type TFoo, the second operand must be a pointer to a member of class type TFoo. |
Example
The pointer-to-member operators are probably best explained with an example such as this one:
#include <iostream>
class TFoo {
public:
void func() {
std::cout << __func__ << std::endl;
}
int data;
};
void (TFoo::*pmfn)() = &TFoo::func;
int TFoo::*pmd = &TFoo::data;
int main() {
TFoo foo;
TFoo *pfoo = &foo;
// Call func with foo/pfoo
(foo.*pmfn)(); // With object
(pfoo->*pmfn)(); // With pointer
// Set/read data with object and ptr respectively
foo.*pmd = 123;
std::cout << "data=" << pfoo->*pmd << std::endl;
return 0;
}
Conditional Operators
For more information, see Conditional Operators.
Conditional Operator | Description |
---|---|
|
Actually a ternary operator. For example: |
Comma Operator
For more information, see Comma Operator.
Comma Operator | Description |
---|---|
|
Evaluate |
Other C++ Specific Operators
- const_cast (typecast Operator)
- delete
- dynamic_cast (C++ typecast Operator)
- new
- reinterpret_cast (typecast Operator)
- static_cast (C++ typecast Operator)
- sizeof
- typeid