在下面的代码中,::〜的含义是什么
GaussianMex::~GaussianMex()
{
int i;
}
Run Code Online (Sandbox Code Playgroud)
Ale*_*son 15
这不是单个运算符::~,而是GaussianMex析构函数的定义.您可以通过ClassName::ClassMethod语法定义类方法,因为析构函数名称是~ClassName析构函数定义的结果ClassName::~ClassName.
这是一个析构函数.
考虑:
class GaussianMex
{
public:
// This is the CONstructor (ctor). It is called when an instance of the class is created
GaussianMex()
{
};
// This is a Copy constructor (cctor). It is used when copying an object.
GaussianMex(const GaussianMex& rhs)
{
};
// This is a move constructor. It used when moving an object!
GaussianMex(GaussianMex&& rhs)
{
};
// This is the DEStructor. It is called when an instance is destroyed.
~GaussianMex()
{
};
// This is an assignment operator. It is called when "this" instance is assigned
// to another instance.
GaussianMex& operator = (const GaussianMex& rhs)
{
return *this;
};
// This is used to swap two instances of GaussianMex with one another.
friend void swap(GaussianMex& lhs, GaussianMex& rhs)
{
};
}; // eo class GuassianMex
Run Code Online (Sandbox Code Playgroud)
构造函数的目的是进行所需的任何初始化(可能分配内存或其他类实例).析构函数执行相反的操作 - 它执行类在其生命周期中分配的任何资源的清理.