这个符号在C++中意味着什么?"〜"

Sim*_*ity 1 c++

如果我们~在这样的函数之前使用:~func();这是什么意思?

谢谢.

Fer*_*cio 15

如果它是类定义的一部分,那么它是该类的析构函数,前提是函数名与类名相同(否则会出现语法错误).

class stuff {
  stuff(); // constructor for stuff
  ~stuff(); // destructor for stuff
};
Run Code Online (Sandbox Code Playgroud)

它也可能是一个有点不操作的运算符.即

int x = ~func();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它将获取返回值func(),它可能返回一个整数类型,翻转所有位并存储结果x.

如果func()返回一个operator~在其类中定义的对象,那么它可能意味着什么;-)