VC中!和~这两个符号有什么区别和联系

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:35:19
VC中!和~这两个符号有什么区别和联系
好像两个都有否定的意思
在网上也搜不到讲这两个符号的
谁能解决一下

!是指逻辑取反

!0 == 1
!!0 == 0

~是指按位取反

~a是指将a对应的二进制数字按位取反,1变0,0变1

比如a = 1时,a在内存中表示为
00000001
~a则是
11111110

!表示非的意思,也就是表示否定,而~则是在定义析构函数的时候才会用得到的,各举一个例子
if(i!=1)//就是说如果i不等于1
cout<<endl;
class example
{
public:
example();
~example();//~是为了说明这是一个析构函数
};
所以两者是没有联系的