Оператор |= в C++ и его использование
Пока я проверял некоторый код на C++, я нашел довольно интересный оператор и задавался вопросом, что он делает? Я пытался найти его в Интернете, но не повезло.
index |= (image(y - 1, x) != 0) << 3;
Правая часть ясна, она выполняет сдвиг влево на 3 бита, если результат не равен нулю, но этот оператор |= слева смущает меня.
1 ответ
Решение
В месте побитового ИЛИ. Он обновляет операнд с ИЛИ операнда и выражением справа.
Такой же как
index = index | (image(y - 1, x) != 0) << 3;