你能解释这个成员函数模板吗?

时间:2011-03-18 13:02:27

标签: c++

任何人都可以通过解释功能模板的实际用途来帮助我。他们如何工作?今天早上我看到了一些代码,但我仍然不明白这个的实际用途:

class A
{
template<class T> T getData() const
{
   const T* pointer == dynamic_cast<const T*>(mData)
   if(0 == pointer)
    {
     T defaultValue = T()
    }
  }
private:
  LData *mData; 
};

我对此一无所知。任何人都可以给我一个关于功能模板的一般概念吗?

由于

2 个答案:

答案 0 :(得分:2)

我认为应该是这样的:

class A
{
template<class T> 
T getData() const
{
   const T* pointer = dynamic_cast<const T*>(mData);
   if(0 == pointer) 
     return T();

   return *T;
}
private:
  LData *mData; 
};

它正试图让mData转换为T类型的缓冲区或类(我不知道LData是什么)。

答案 1 :(得分:0)