当我遇到|=
时,我正在查看英特尔深度学习框架Caffe的源代码。我以前在任何代码中都没见过。事实上,我在代码中发现了两次。 Line 188:
need_backward |= blob_need_backward_[blob_id];
和line 254:
need_backward |= param_need_backward;
我意识到他们都被安置在for循环中,这可能意味着某种关系。我只是假设。
答案 0 :(得分:2)
|=
是复合作业。
<var> |= <expr>
表示<var> = <var> | <expr>
对于递增,它是OR
等效的+=
。您可以使用C ++中的大多数数学运算符来执行此操作。
|
为bitwise OR
,因此您将变量重新分配给OR
'结果。
答案 1 :(得分:2)
答案 2 :(得分:1)
是
的简写\Thread
您正在执行按位或操作