通过指针比较

Qua*_*ale 1 c++ pointers

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

bool Compare(CBox* pBox) const
    {
        if (!pBox)
            return 0;
        return this->Volume() > pBox->Volume();
    }
Run Code Online (Sandbox Code Playgroud)

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

lol*_*ndo 8

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