正文

OpenFOAM——primitive——Pair模板类2006-11-19 21:44:00

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

分享到:

STL中有pair用于实现成对的元素,在OpenFOAM中叶实现了这一个模板类。
template<class Type>
Pair:public FixedList<Type,2>;//由此可见该模板类是FixedList的子类,且该FixedList容量为2,即只有两个元素,这里的Fixed是OpenFOAM的container模板类里的一个,以后再介绍container时再进行详细的介绍。

该模板类的公有部分
        构造函数:
               Pair(){}//默认构造函数什么都不做
               Pair(const Type& f, const Type& s)//给出pair对元素来进行构造
              {
                first()=f;
                second()=s
               }               //这里分别调用了类成员函数first()和second()来返回对两个元素的引用
               Pair(Istream& is)  //从输入流进行构造
               :FixedList<Type,2>(is)//调用父类的相应构造函数完成工作
               {}
         成员函数:
               inline Type first() {return this->operator[](0);}//返回第一个元素进行操作
               inline Type second() {return this->operator[](1);}//返回第二个元素
               inline Type first() const{....}//first()的const版本
               inline Type second() {...}//second()的const版本
               inline Pair<Type> reversePair() const
               {
                   return Pair<Type>(second(),first());
                }         //将第一个元素和第二个元素互换
          友元操作符://用来比较两个Pair是否相等的
                 inline friend  bool operator==(const Pair<Type>& a, const Pair<Type>& b);
                 inline friend bool operator!=(const Pair<Type>& a, const Pair<Type>& b);
           两个const的同类型(元素都是Type类型的)的Pair只有当两个元素完全相等时才是相等的,否则就是不相等的。

简单介绍了Pair!欢迎评论!

阅读(4142) | 评论(0)


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

评论

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