是什么意思::〜

时间:2013-11-19 11:45:37

标签: c++

在下面的代码中,::〜

的含义是什么
GaussianMex::~GaussianMex()
{
   int i;
}

4 个答案:

答案 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的析构函数。