CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    autoPtr代码求教

    OpenFOAM
    1
    3
    682
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 羽之下
      羽之下 最后由 编辑

      在学习autoPtr时看到autoPtrI.H中有这样一段代码不是很理解,下面这个是一个重载操作符吗?没有返回类型啊,重载的又是什么符号?return了一个函数声明?c++中好像没见过这种写法啊。

      template<class T>
      inline Foam::autoPtr<T>::operator const T&() const
      {
          return operator()();
      }
      

      operator()()函数定义如下:

      template<class T>
      inline T& Foam::autoPtr<T>::operator()()
      {
          if (!ptr_)
          {
              FatalErrorInFunction
                  << "object of type " << typeid(T).name()
                  << " is not allocated"
                  << abort(FatalError);
          }
      
          return *ptr_;
      }
      

      高速旋转机械/旋风分离器/气固分离

      羽之下 1 条回复 最后回复 回复 引用
      • 羽之下
        羽之下 @羽之下 最后由 编辑

        @羽之下 我发现一个规律,只要一发帖,自己马上就能找到眉目,不发帖问题两三天卡住不动:zoule:

        高速旋转机械/旋风分离器/气固分离

        羽之下 1 条回复 最后回复 回复 引用
        • 羽之下
          羽之下 @羽之下 最后由 编辑

          @羽之下 这貌似是一个类型转换函数,搜到了类似帖子https://bbs.csdn.net/topics/390537437

          高速旋转机械/旋风分离器/气固分离

          1 条回复 最后回复 回复 引用
          • First post
            Last post