Vala 不免费全球数据?

Vala doesn't free global data?

有一个简单的代码:

class Global
{
    ~Global() { stdout.printf("~Global"); }
}

class Local
{
    ~Local() { stdout.printf("~Local"); }
}

Global global;

static int main()
{
    global = new Global();
    var local = new Local();

    return 0;
}

它产生这个输出:

~Local

所以只释放了本地数据。

如何释放全局数据?

我应该使用指针还是有更简单的方法?

global = null 添加到您的程序中。引用计数将降为零,变量将被释放。

请注意,全局数据通常不是一个好主意。