autoPtr代码求教



  • 在学习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_;
    }
    


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



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


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1