Related Articles
























































C++ Alternative Operator Representations

Prashant | Sun, 02 Aug, 2020 | 136

C++ Alternative Operator Representations

There are the following alternative keywords to the various operators (mentioned below), all these keywords operate similarly the same as its primary tokens. For example: and behaves the same as &, and_eq behaves the same &=, etc.

The keywords are,

PrimaryAlternative keywords/tokens
&&and
&=and_eq
&bitand
|bitor
~compl
!not
!=not_eq
||or
|=or_eq
^xor
^=xor_eq
{<%
}%>
[<:
]:>
#%:
##%:%

C++ Example for Alternative Operator Representations

/*
C++ example to demonstrate the use of
alternative operator keywords
*/

#include <iostream>
#include <bitset>
using namespace std;

int main()
{
    int a = 10;
    bitset<4> value("1111");
    bitset<4> mask1("1010");

    // and, or, not, not_eq keywords
    cout << "a: " << a << endl;
    cout << "(a>5 and a<20): " << (a > 5 and a < 20) << endl;
    cout << "(a>5 or a<20): " << (a > 5 or a < 20) << endl;
    cout << "not(a>5 and a<20): " << not(a > 5 and a < 20) << endl;
    cout << "(a not_eq 5): " << (a not_eq 5) << endl;

    //bitand, bitor, compl, and_eq, or_eq
    //xor, xor_eq keywords
    cout << "value: " << value << endl;
    cout << "mask1: " << mask1 << endl;
    cout << "(value bitand mask1): " << (value bitand mask1) << endl;
    cout << "(value bitor mask1): " << (value bitor mask1) << endl;
    cout << "(value xor mask1): " << (value xor mask1) << endl;
    cout << "compl value: " << compl value << endl;
    value and_eq mask1;
    cout << "value and_eq mask1: " << value << endl;
    value or_eq mask1;
    cout << "value or_eq mask1: " << value << endl;
    value xor_eq mask1;
    cout << "value xor_eq mask1: " << value << endl;
 
    return 0;
}

Output

a: 10
(a>5 and a<20): 1
(a>5 or a<20): 1
not(a>5 and a<20): 0
(a not_eq 5): 1
value: 1111
mask1: 1010
(value bitand mask1): 1010
(value bitor mask1): 1111
(value xor mask1): 0101
compl value: 0000
value and_eq mask1: 1010
value or_eq mask1: 1010
value xor_eq mask1: 0000

Related Articles
























































0 comments
Leave a comment