我想解释一下这个函数的一部分是什么:
bool Compare(CBox* pBox) const
{
if (!pBox)
return 0;
return this->Volume() > pBox->Volume();
}
如果(!pBox)检查怎么办?如果声明必要吗?
答案 0 :(得分:8)
if (!pBox)
检查指针pBox
是否为空。这是必要的,因为你正在调用一个函数(Volume()
)。
答案 1 :(得分:2)
IF测试为null,如果为真(非零),则确保返回零。这是必要的,因为你正在比较一个实例化的对象(你正在调用它的方法)与另一个对象,而这最后一个可以为null。