什么| =在C ++中表示?

时间:2016-12-02 02:44:19

标签: c++ caffe

当我遇到|=时,我正在查看英特尔深度学习框架Caffe的源代码。我以前在任何代码中都没见过。事实上,我在代码中发现了两次。 Line 188

need_backward |= blob_need_backward_[blob_id];

line 254

need_backward |= param_need_backward;

我意识到他们都被安置在for循环中,这可能意味着某种关系。我只是假设。

3 个答案:

答案 0 :(得分:2)

|=是复合作业。

<var> |= <expr>表示<var> = <var> | <expr>

对于递增,它是OR等效的+=。您可以使用C ++中的大多数数学运算符来执行此操作。

|bitwise OR,因此您将变量重新分配给OR'结果。

答案 1 :(得分:2)

这是按位OR分配&#39; compund赋值运算符。

x |= y;

相当于:

x = x | y;

有许多类似的运算符:+ =, - =,* =等

请参阅:operator_assignment

答案 2 :(得分:1)

的简写
\Thread

您正在执行按位或操作