d安全可以调用系统
void foo(void delegate() @system dg) @safe {
int *bar;
@system void corrupt() { bar = cast(int *)0xdeadbeef;}
dg = &corrupt;
// 可调用dg吗?
}//dip1000都可编译
是的,你可以!:
void main() @safe
{
void delegate() @system dg = () @system { /* 危险动作*/ };
}
浙公网安备 33010602011771号