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
添加到您的程序中。引用计数将降为零,变量将被释放。
请注意,全局数据通常不是一个好主意。
有一个简单的代码:
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
添加到您的程序中。引用计数将降为零,变量将被释放。
请注意,全局数据通常不是一个好主意。