能否解释一下下面这段代码是啥作用,例如#region的作用跟MyBase.new()的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能否解释一下下面这段代码是啥作用,例如#region的作用跟MyBase.new()的作用相关的知识,希望对你有一定的参考价值。

#Region " Your custom code section67DE6B32-F9AE-4b19-B6B8-26FE2B6985D4"
<Serializable()> Public Class clsclient
Inherits clsclientBase_

Protected Sub New()
MyBase.New()
End Sub

End Class
#End Region
没多少分了!

参考技术A #Region相当于一个注释。

mybase.new()是调用类clsclientBase_下的方法本回答被提问者采纳

& 在这段代码中的作用是啥?

【中文标题】& 在这段代码中的作用是啥?【英文标题】:What is the role of & in this piece of code?& 在这段代码中的作用是什么? 【发布时间】:2019-10-16 03:43:53 【问题描述】:

我正在尝试理解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,则结果位设置为 1,否则为 0。

例如:

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

【讨论】:

运算符 & 被 OpenFOAM 类重载。查看@Herpes-Free-Engineer 的答案【参考方案2】:

恐怕first 和second 的答案大多不适用于 OpenFOAM 上下文。

在 OpenFOAM 上下文中,如果操作数是张量,&amp; 就是 inner product。因此,deltaRRightgradT[nei] 实际上是张量对象。

请查看OpenFOAM's programmers' guide,第 1.4.1 和 1.3.1 节。

【讨论】:

这是 OpenFOAM 上下文中的正确答案。为什么没有人支持它?或者接受它是正确的(@Bidesh-Sengupta)【参考方案3】:

有两个不同的&amp; 运算符。

按位与运算符 (&) 将第一个操作数的每个位与第二个操作数的相应位进行比较。如果两个位都为1,则对应的结果位设置为1。否则,对应的结果位设置为0。

按位与运算符的两个操作数都必须是整数类型。

例如:

#include <iostream>

using namespace std;

int main() 
   unsigned short a = 0xFFFF;      // pattern 1111 ...
   unsigned short b = 0xAAAA;      // pattern 1010 ...

   cout  << hex << ( a & b ) << endl;   // prints "aaaa", pattern 1010 ...

【讨论】:

以上是关于能否解释一下下面这段代码是啥作用,例如#region的作用跟MyBase.new()的作用的主要内容,如果未能解决你的问题,请参考以下文章

下面这段 cmd 代码是啥意思? [关闭]

你能解释一下这段代码的作用吗?

& 在这段代码中的作用是啥?

这段代码是啥意思?

这段代码中的“.get(0)”是啥?

python里面args作为参数但是方法体里面没有调用,那这个args的作用是啥?