如果我们在这样的函数之前使用~
:~func();
,这是什么意思?
感谢。
答案 0 :(得分:15)
如果它是类定义的一部分,那么它是该类的析构函数,前提是函数名与类名相同(否则会出现语法错误)。
class stuff {
stuff(); // constructor for stuff
~stuff(); // destructor for stuff
};
它也可能是一个不明智的运营商。即。
int x = ~func();
在此上下文中,它将取func()
的返回值,它可能返回一个整数类型,翻转所有位并将结果存储在x
中。
如果func()
返回一个在其类中定义operator~
的对象,则它可能意味着什么; - )
答案 1 :(得分:4)
假设您正在引用一个函数声明,它表示destructor
- 一个在销毁对象时自动运行的函数。析构函数通常用于释放对象使用的任何资源(可用内存,关闭文件等)
答案 2 :(得分:2)
它指定类或结构的析构函数
答案 3 :(得分:2)
这是析构函数。保证在对象被销毁时调用的函数。
答案 4 :(得分:1)
它是按位补码运算符。
(实际上,不,它可能不是析构函数。名为func
的类的析构函数??)
它从func()
返回整数并按位补充它;也就是说,它翻转了所有的位。
答案 5 :(得分:1)
如果是~Foo,Foo是一个类,它就是一个析构函数。
如果在其他情况下使用它,则它是按位求反运算符。它将所有设置为1到0的位翻转,反之亦然。