C++ 解读复杂C++;释义

C++ 解读复杂C++;释义,c++,templates,signature,C++,Templates,Signature,对于最近的一个类项目,我们需要在MIPS模拟器中修改现有类方法中的代码。我成功地完成了任务,但我真的不理解方法声明,这让我很烦恼: template<class State, class Addr_t, bool Energy> typename CacheAssoc<State, Addr_t, Energy>::Line *CacheAssoc<State, Addr_t, Energy>::findLine2Replace(Addr_t addr, bo

对于最近的一个类项目,我们需要在MIPS模拟器中修改现有类方法中的代码。我成功地完成了任务,但我真的不理解方法声明,这让我很烦恼:

template<class State, class Addr_t, bool Energy>
typename CacheAssoc<State, Addr_t, Energy>::Line
*CacheAssoc<State, Addr_t, Energy>::findLine2Replace(Addr_t addr, bool ignoreLocked)
{
    // ...
}
模板
typename CacheAssoc::Line
*CacheAssoc::findLine2Replace(地址,bool ignorelock)
{
// ...
}
那里有很多东西。你能帮我把它分解一下吗



这是模板类
CacheAssoc
findLine2Replace
方法的定义(包括大括号中省略的所有内容)


是函数名和参数列表。如果要在
CacheAssoc
类的范围内定义此方法,则无需执行以下操作
CacheAssoc::

我想您的意思是希望帮助您理解方法声明,而不是方法定义。定义是介于{}之间的一切。我说的对吗?你不明白什么?这是一个成员函数的模板,返回类型为
typename CacheAssoc::Line*
。Joakim,我所问的你是对的。泰曼苏尔。你的答案正是我希望得到的信息。非常感谢。
template<class State, class Addr_t, bool Energy>
typename CacheAssoc<State, Addr_t, Energy>::Line*
CacheAssoc<State, Addr_t, Energy>::findLine2Replace(Addr_t addr, bool ignoreLocked)