Vale, jejeje, lo leí mal.
El operador or que ves es un operador binario. Hace una operación or bit a bit.
Un ejemplo:
Código C++:
Ver originalint x = 10; // en binario: 0000 0000 0000 1010
x |= 18; // 20 en binario: 0000 0000 0001 0010
std::cout << x; // imprime 26, es decir 0000 0000 0001 1010