通过指针比较

时间:2013-11-23 02:10:17

标签: c++ pointers

我想解释一下这个函数的一部分是什么:

bool Compare(CBox* pBox) const
    {
        if (!pBox)
            return 0;
        return this->Volume() > pBox->Volume();
    }

如果(!pBox)检查怎么办?如果声明必要吗?

2 个答案:

答案 0 :(得分:8)

if (!pBox)检查指针pBox是否为空。这是必要的,因为你正在调用一个函数(Volume())。

答案 1 :(得分:2)

IF测试为null,如果为真(非零),则确保返回零。这是必要的,因为你正在比较一个实例化的对象(你正在调用它的方法)与另一个对象,而这最后一个可以为null。