"object_()","对象名_()"这是什么用法?
-
在看拉格朗日库的时候发现例如dispersion,surfaceFilm这种模型的表达看不太懂,他们的定义都比较特殊,请问大神这是什么用法?
以surfaceFilm举例:调用的位置在:
而surfaceFilm()的定义在KinematicCloudI.H里,代码如下:
看到这里就比较懵了,surfaceFilmModel_这个object后面又接了个()是什么表达?返回了什么值?请问有没有大神可以指点一下?我发现拉格朗日库里好多子模型都是这样调用的
-
@jqbu 在湍流模型里面出现过类似的
k_()
,这个()
操作符重载了,把geometricField变成了内部场。你这个看起来也是()
操作符重载。看看是不是tmp类型,或者geometricField? -
@李东岳 东岳老师,这里的surfaceFilmModel_在KinematicCloud类里被定义为autoPtr<SurfaceFilmModel<KinematicCloud<CloudType>>>类型,按您操作符重载的说法,我应该去哪找这里操作符重载的返回的类型?我看autoPtrI.H里有一些操作符重载的表达,但是没找到类似于inline T& Foam::autoPtr<T>::operator(){ }这样的表达,只有下面这种的
这里return的*ptr_在autoPtr.H里被定义为T类型请问东岳老师能举个例子这种情况应该怎么找吗
-
@李东岳 东岳老师,感谢您的回复,除了上面那个问题,还想再请教您另外一个问题,请问下图标红的部分是上面语法呀?老师能介绍一下operator的逻辑吗?
再次谢谢老师!
-
@jqbu operator最好看C++的operator重载,https://www.cplusplus.com/doc/tutorial/functions2/ 你说的这个,只不过附加了个
(i)
,应该是不同的离子注入模型