代码示例的含义

时间:2013-11-02 19:04:26

标签: c++ function

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

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

此连接中的*mag(contErr)()是什么意思?我试图谷歌,但找不到解释。

问候 streight

1 个答案:

答案 0 :(得分:1)

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的对象。