正文

OpenFOAM——autoPtr模板类2008-03-28 14:54:00

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

分享到:

autoPtr类是一个模板类,其主体结构如下:其中,可以看出有一个私有变量T* ptr_;ptr_用来保存一个T类型的对象的指针。该类提供两个构造函数:inline explicit autoPtr(T* = NULL);和复制构造函数inline autoPtr(const autoPtr<T>&);析构函数:inline ~autoPtr();用来在析构对象时,删除ptr_指向的对象所占的内存成员函数:       inline bool valid() const; 如果ptr_指向某个对象,则返回true,否则返回false       inline T* ptr();  返回指向ptr_指向对象的指针,并设置ptr_=NULL;       inline void set(T* p);  如果ptr_已经指向具体的对象,则抱错否则ptr_=p       inline void reset(T* p);  如果ptr_已经指向具体的对象,则首先删除该对象的内存,并设置ptr_=p;       inline void clear();   调用reset(NULL);       inline T& operator()();   如果ptr_指向了具体的对象,则返回该对象的拷贝       inline const T& operator()() const;    operator()的const版本       inline operator const T&() const;    返回一个T类型对象的const引用       inline T* operator->();    返回ptr_指针,该指针指向的对象可修改       inline const T* operator->() const;  返回ptr_指针,该指针指向的内容不能修改 以上就是autoPtr的所有的功能。

阅读(4560) | 评论(0)


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

评论

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