少年意气强不羁,虎胁插翼白日飞。这篇文章主要讲述d的破坏与安全相关的知识,希望能为你提供帮助。
??原文??? 因为??use?
?包含??destroy?
?,所以不能为??安全?
?
R use(R, T)(T obj, R delegate(T) fT)
scope (exit)
destroy!false(obj);
return fT(obj);
如何确保?
?安全?
??调用??destroy?
??只要调用它的?
?析构器?
??是??@safe?
??的,??destroy?
??就应是??安全?
??的.如果??
?析构器?
??是??@system?
??,则??安全?
??调用代码唯一方法是:??
?(1)?
??确保??不违反?
??内存安全调用??析构器?
??条件,??
?(2)?
??(用??编译时和/或运行时?
??检查)确保满足这些条件,??
?(3)?
??在??@trusted?
??函数中包装??destroy?
?.【d的破坏与安全】?
?use?
??推导为??系统?
??,闭包也未标记为??安全?
??.标记??
?use?
??为??安全?
?,来看看说了啥.对?
?类?
??,当前??dmd+druntime?
??不能静态决定??析构器?
??是否??安全?
?.推荐阅读
- Lambda表达式及双冒号操作符
- jQuery基础—— 解决jQuery冲突
- Mysql索引灵魂拷问
- d的嵌套赋值
- 并发-线程基础线程共享和协作
- d重载嵌套函数
- StringUtils中isNotBlank和null和isEmpty的联系
- vim用c++写函数
- Spring之BeanFactory和FactoryBean的区别