在下面的代码中,::〜
的含义是什么GaussianMex::~GaussianMex()
{
int i;
}
答案 0 :(得分:15)
这不是单个运算符::~
,而是GaussianMex析构函数的定义。您可以通过ClassName::ClassMethod
语法定义类方法,因为析构函数名称为~ClassName
,因此析构函数定义为ClassName::~ClassName
。
答案 1 :(得分:5)
这是一个析构函数。
考虑:
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
构造函数的目的是进行所需的任何初始化(可能分配内存或其他类实例)。析构函数执行相反的操作 - 它执行类在其生命周期中分配的任何资源的清理。
答案 2 :(得分:3)
表示该方法是析构函数。
您的类最多只能有一个析构函数,它始终是以~
符号为前缀的类的名称。
每当对象的实例被销毁时,都会调用析构函数。只要实例超出范围,或者在指向类的实例的指针上调用delete
,就会发生这种情况。
答案 3 :(得分:1)
您正在定义类GaussianMex
的析构函数。