这个符号在C++中的含义是什么? “〜”
答
如果它是类定义的一部分,它是该类的析构函数,前提是函数名与类名(否则它将是一个语法错误)。
class stuff {
stuff(); // constructor for stuff
~stuff(); // destructor for stuff
};
它也可能是位运算符而不是运算符。即
int x = ~func();
在这种情况下,这将需要从func()
的返回值,这大概是返回一个整体式,翻转所有的位和将结果存储在x
。
如果func()
返回其在其类中定义operator~
一个对象,那么它可能意味着任何事情;-)
答
假设你指的是一个函数声明,它表示一个destructor
--一个当对象被销毁时自动运行的函数。析构函数通常用于释放对象使用的任何资源(空闲内存,关闭文件等)
答
它指定一个类或结构
答
它的析构函数的析构函数。一个函数保证在对象被销毁时被调用。
答
这是按位互补运算符。
(其实没有,这可能不是一个析构函数命名func
??类的析构函数)。
它从func()
返回的整数和按位具有互补性;也就是说,它翻转所有的位。
答
如果是〜Foo,其中Foo是一个类,它是一个析构函数。
如果在其他情况下使用它,则它是按位否定运算符。它将所有设置为1的位翻转为0,反之亦然。
在表达式(恰好调用函数)之前或在声明函数(方法)之前? – delnan 2011-01-22 21:17:45
它*可以*也可以是返回值的补码... – Mehrdad 2011-01-22 21:18:10
@Mehrdad:我想如果它是一个函数调用而不是函数声明的话。 – 2011-01-22 21:20:28