为什么在c++中~前面要加个波浪线?

如题所述

~ 英文符号叫Tilde,意思是颚化符号,鼻音化符号,代字号,中文俗称波浪号。

波浪号形式上有三种,一种是居于格子中间,如“~ ”;一种是居于格子上方,如问题中的位置;一种是大波浪,比前一种符号要大些,如“~”。

扩展资料:

C++语言中,析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。

只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。

C/C++ 语言中,~又是一种运算符-二进制的“按位非”运算符。例如int x = 0x79; 写成二进制01111001;~x运算结果是10000110。也就是说:某位是1,就变0,是0,就变1。

参考资料来源:百度百科-~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2024-01-23
在C++中,波浪线(~)是位翻转运算符,也称为按位非运算符。它对给定的二进制位进行翻转,即将0变为1,将1变为0。
使用按位非运算符可以方便地实现一些特定的功能,例如将一个整数的某一位清零或置1。例如,假设有一个整数x,我们想要将x的第i位清零,可以使用以下代码:
x = ~(1 << i) & x;
这个代码先将1左移i位,得到一个只有第i位为1的数,然后将其取反得到一个只有第i位为0的数,最后与x进行按位与运算,将x的第i位清零。
同样地,如果我们想要将x的第i位置1,可以使用以下代码:
x = (1 << i) | x;
这个代码先将1左移i位,得到一个只有第i位为1的数,然后将其与x进行按位或运算,将x的第i位置1。
因此,在C++中使用波浪线作为按位非运算符可以方便地实现一些特定的位操作。
第2个回答  2024-01-21
在C++中,函数名前加波浪线(~)用来表示这是一个析构函数。析构函数是构造函数的互补,它的作用是在对象超出作用域或动态分配的对象被删除时,自动应用析构函数来释放对象占用的内存空间和其他资源。析构函数的名称与类的名称完全相同,只是在前面加了一个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。
相似回答
大家正在搜