“|=”操作在C++是什么意思?

我有以下代码,我不明白它是什么意思:

var1 |= var2>0 ? 1 : 2;

任何人都可以帮我!


答案 1
if (var2 > 0)
  var1 = var1 | 1;
else 
  var1 = var1 | 2;

它是按位的- 或。


答案 2

所有运算符都是 的快捷方式。a op= ba = a op b

但是,由于C++允许并单独重写,因此您依赖于自定义类型的每个实现者保持一致。opop=