什么是'〜'用于C++?

Cra*_*ide 2 c++

可能重复:
在c ++中,函数名前面的"〜"表示什么?

线与〜和另一条线有什么区别?

public:    
       myClass() {};    
       ~myClass() {};
Run Code Online (Sandbox Code Playgroud)

Naw*_*waz 7

myClass(){}被称为构造函数,~myClass(){}被称为析构函数!

创建对象时调用构造函数,销毁对象时调用析构函数.

myClass *pObj = new myClass(); //constructor is invoked;
//work with pObj;

delete pObj; //destructor is invoked;
Run Code Online (Sandbox Code Playgroud)

这是一个使用new和的例子delete.new导致构造函数被调用,并delete导致析构函数被调用.

让我们看另一个例子:

{
    myClass Obj; //constructor is automatically invoked;
  //work with Obj;


} //<--here Obj goes out of scope which causes destructor to be automatically invoked;
Run Code Online (Sandbox Code Playgroud)

使用自动对象,将自动调用构造函数,当对象超出范围时,将自动调用析构函数.