评论

收藏

[Hbase] d中这是内存安全吗

数据库 数据库 发布于:2021-12-25 15:47 | 阅读数:445 | 评论:0

如下代码:
import std.stdio:writeln;
struct S{
  @disable this();
  ~this(){
  writeln("dtor!");
  }
} 
void main(){
  S s = void;
}
RazvanN:
过去出现过,人们同意,如果用​​void​​初化,则由你确保​​析构前​​对象有效.我不同意这一点;既然你绕过了构建,你也应该绕过析构,但是,这可以讨论.
当前你有简单用​​联技巧​​来​​绕过析构​​的方法.我赞成,对​​特定对象避免析构​​的​​dip​​.
​​Walter Bright​​:
​​上面代码​​应该有问题吗?用​​void​​初化表明由用户​​使用​​前正确初化.
​​@safe​​是关于内存安全的.示例代码​​确实​​是内存安全的.
​​UB​​不太对.这是关于内存安全.下例可说明:
import std.stdio;
@safe void main() {
  int x = void;
  writeln(x);
}
会打印垃圾,但​​不是​​不安全.






关注下面的标签,发现更多相似文章