Оператор |= в C++ и его использование

Пока я проверял некоторый код на C++, я нашел довольно интересный оператор и задавался вопросом, что он делает? Я пытался найти его в Интернете, но не повезло.

index |= (image(y - 1, x) != 0) << 3;

Правая часть ясна, она выполняет сдвиг влево на 3 бита, если результат не равен нулю, но этот оператор |= слева смущает меня.

1 ответ

Решение

В месте побитового ИЛИ. Он обновляет операнд с ИЛИ операнда и выражением справа.

Такой же как

index = index | (image(y - 1, x) != 0) << 3;
Другие вопросы по тегам