正文

OpenFOAM中的引用计数2013-07-30 09:38:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bioexplore/54280.html

分享到:

      OpenFOAM中在进行场计算时,涉及大量内存占用量很大的对象的操作,如果对于这些对象均采用“按值”操作而不是“按址”操作那就会造成大量内存耗用,导致程序效率的降低。C++中引用的概念解决了这一问题,但是同时也带来另一个问题就是关于引用计数的问题,同一对象被多重引用所指,那么对于引用个数的跟踪就显得很重要,因为如果依然有引用指向该对象时是不能进行该对象的析构的,因而需要跟踪大内存对象的引用个数,这就出现了引用计数的概念。

      可惜在STL中并没有提供引用计数这样的类,因而在OpenFOAM中编写了refCount类用于实现该功能,需要进行引用计数的类只要派生自refCount,结合另一特定的模板类tmp<T>便可实现引用计数的功能。这里需要注意的是refCount的派生类必须要封锁复制构造函数及赋值操作符函数。

 

阅读(2054) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册