这个“return~Result(0)”在C ++中意味着什么?

时间:2015-06-04 02:33:55

标签: c++ c++11

我以前从未见过这个......只是好奇地知道“return~Result(0)”的作用。

Simple::Result Screen::pickPoint(const Point& Point) const
    {

    if(scnr.hasPoint())
        return scnr.getIndex();
    else
        return ~Result(0);
    }

1 个答案:

答案 0 :(得分:2)

假设Simple::Result重载了按位非运算符(~)。这将调用Simple::Result类中的重载运算符并返回结果。

如果~运算符执行按位非运算,则当Simple::Result返回false时,该函数应返回scnr.hasPoint全1(二进制)。

您可以阅读有关按位非运算符here的更多信息。