代码示例的含义

Meaning of code example

本文关键字:代码      更新时间:2023-10-16

我需要知道以下源代码的含义:

scalar sumLocalContErr = runTime.deltaTValue()*
mag(contErr)().weightedAverage(mesh.V()).value();

这方面的*mag(contErr)()是什么意思?我试图用谷歌搜索它,但找不到解释。

问候斯特雷特

runTime.deltaTValue() * mag(contErr)().weightedAverage(mesh.V()).value();
~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         1                                      2

Expr 1:很明显。 runTime.deltaTValue()调用方法并返回一个对象。返回的对象有一个重载的 * 运算符,该运算符接受表达式 2 中的对象。

Expr 2:似乎mag是一个带有接受contErr的构造函数的类。那么mag(contErr)就是一个对象。此对象具有重载的()运算符。因此,mag(contErr)()是一个方法调用。通过调用它,它返回另一个对象,该对象具有方法weightedAverage,此方法接受mesh.V()并返回具有方法value的对象。