c++ - &在这段代码中的作用是什么?

标签 c++ openfoam

我正在尝试理解 foam-extend 中的 dbns 代码。但是我对下面给出的代码的特定部分有点怀疑。

deltaRLeft & gradrho[own] 或

deltaRRight & gradU[nei]

我这里用的 & 是一个引用运算符,但如果有人能更详细地解释它,这对我会有帮助。

    Flux::evaluateFlux
    (
        rhoFlux_[faceI],
        rhoUFlux_[faceI],
        rhoEFlux_[faceI],
        rho_[own] + rhoLimiter[own]*(deltaRLeft & gradrho[own]),
        rho_[nei] + rhoLimiter[nei]*(deltaRRight & gradrho[nei]),
        U_[own] + cmptMultiply(ULimiter[own], (deltaRLeft & gradU[own])),
        U_[nei] + cmptMultiply(ULimiter[nei], (deltaRRight & gradU[nei])),
        T_[own] + TLimiter[own]*(deltaRLeft & gradT[own]),
        T_[nei] + TLimiter[nei]*(deltaRRight & gradT[nei]),
        R[own],
        R[nei],
        Cv[own],
        Cv[nei],
        Cp[own],
        Cp[nei],
        Sf[faceI],
        magSf[faceI]
    );

& 在这里到底是做什么的,如果可以详细解释的话。 部分代码来自dbns/numericFlux/numericFlux.C

最佳答案

按位与运算符。

它将第一个操作数的每一位与第二个操作数的相应位进行比较。 如果两个位都为 1,则结果位设置为 1,否则为 0。

例如:

     11001001  
   & 10111000 
     -------- 
   = 10001000

关于c++ - &在这段代码中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58405454/

相关文章:

c# - 如何从 Xamarin(Android 和 iOS)使用 OpenCV?

c++ - 查找包含值的单元格的索引并突出显示 QTableView 中的所有这些单元格

C++ 继承 : Error: candidate expects 1 argument, 0 提供

python - 当子进程返回错误时,Python 中出现奇怪的挂起

c++ - 获取 2 个 QDir 的共同父级

c++ - 从文本文件加载链接列表并打印时无限循环

Python-正则表达式 : extract a list of tuples after a keyword from a text file

python - 如何使用 python 脚本选择 ParaView OpenFOAM 案例中的所有网格区域?

post-processing - 针对已求解流的拉格朗日粒子跟踪(后处理模式)

windows - 在非管理员 Windows 上运行 OpenFOAM native 编译