我对C ++很新,我正在尝试解码下面显示的代码片段。特别是对于BaseSetAssoc::BlkType*
行,我不确定星号在这种情况下的含义。我会很感激一些见解。
BaseSetAssoc::BlkType*
NMRU::accessBlock(Addr addr, bool is_secure, Cycles &lat, int master_id)
{
// Accesses are based on parent class, no need to do anything special
BlkType *blk = BaseSetAssoc::accessBlock(addr, is_secure, lat, master_id);
if (blk != NULL) {
// move this block to head of the MRU list
sets[blk->set].moveToHead(blk);
DPRINTF(CacheRepl, "set %x: moving blk %x (%s) to MRU\n",
blk->set, regenerateBlkAddr(blk->tag, blk->set),
is_secure ? "s" : "ns");
}
return blk;
}
答案 0 :(得分:1)
https://<my company>.sharepoint.com/samplesp/Shared%20Documents
不是成员函数,它是一个类型,如果不是内部类,可能是枚举或结构。
需要BlkType
来访问这样的&#34;内部&#34;类型(在类中定义,即 BaseSetAssoc::
)。
所以BaseSetAssoc
只是一个BaseSetAssoc::BlkType*
指针。
答案 1 :(得分:0)
不是&#34;关注&#34;,&#34;&#34;在&#34;之前&#34;。正如评论所说:这意味着它将指针返回给BaseSetAssoc::BlkType
,而不是整个BaseSetAssoc::BlkType
。
这是什么意思?这主要意味着指针可以是NULL
,也可以是不存在的。在使用此函数的结果之前,几乎必需,您首先检查它是否为NULL
。