C++ 按位NOT运算符

示例

重载按位的NOT(~)非常简单。向下滚动以获取说明

class/以外的重载struct:

T operator~(T lhs)

{

    

    return lhs;

}

class/中的重载struct:

T operator~()

{

    T t(*this);

    

    return t;

}


注意:operator~按值返回,因为它必须返回一个新值(修改后的值),而不是对该值的引用(这将是对临时对象的引用,该临时对象在运算符操作后将立即带有垃圾值)已经完成了)。const两者都不是,因为调用代码之后应该能够对其进行修改(即int a = ~a + 1;应该可以)。

在class/内,struct您必须创建一个临时对象,因为您无法修改this,因为它会修改原始对象,事实并非如此。

以上是 C++ 按位NOT运算符 的全部内容, 来源链接: utcz.com/z/337865.html

回到顶部