0
点赞
收藏
分享

微信扫一扫

d的外与系统

90哦吼 2022-05-19 阅读 53


void fn() @safe {
() @trusted { x = new int; }();//安全了?
*x = 10; // 错误,不能在`@安全`代码中访问`@系统`变量
}
//x为外部

但,不仅是上面,还可这样:

extern int* x; // 推导为@system
@system bool initializedX = false;

@trusted void safeX(int* value)
{
x = value;
initializedX = true;
}

@trusted int* safeX()
in (initializedX)
{
return x;
}

@safe void fn()
{
safeX = new int;
*safeX = 10;
}

用​​@trusted​​包装接口.



举报

相关推荐

0 条评论