当前位置: 首页 > news >正文

网站布局分类免费个人网站建设

网站布局分类,免费个人网站建设,仿做唯品会网站,上海网站建设工作室文章目录 rust处理全局变量的策略方法1:在main中自动Drop全局变量 参考 rust处理全局变量的策略 Rust 的静态变量不会在程序退出时自动调用 Drop,因为它们的生命周期与进程绑定。 use std::sync::OnceLock;struct GlobalData {content: String, }impl …

文章目录

  • rust处理全局变量的策略
    • 方法1:在main中自动Drop全局变量
  • 参考

rust处理全局变量的策略

Rust 的静态变量不会在程序退出时自动调用 Drop,因为它们的生命周期与进程绑定。

use std::sync::OnceLock;struct GlobalData {content: String,
}impl Drop for GlobalData {fn drop(&mut self) {println!("Cleaning up: {}", self.content);}
}static GLOBAL_DATA: OnceLock<GlobalData> = OnceLock::new();fn main() {GLOBAL_DATA.get_or_init(|| GlobalData {content: "Hello, world!".to_string(),});println!("Program is running...");// When the program exits, the Drop implementation for GlobalData is called.
}
Program is running...

方法1:在main中自动Drop全局变量

全局变量的生命周期应该和main的程序生命周期是一样长的,所以可以在main中创建一个CleanUp局部对象,为CleanUp()实现Drop特征,在Drop()特征中,完成释放全局变量的资源的功能。

struct Cleanup;impl Drop for Cleanup {fn drop(&mut self) {//调用某些全局变量的释放方法 或者 C库中的方法println!("Cleanup executed on program exit.");}
}fn main() {let _cleanup = Cleanup; // The `Drop` method will be called when `_cleanup` goes out of scopeprintln!("Program is running...");
}

测试:

Program is running...
Cleanup executed on program exit.

eg:

use std::sync::OnceLock;struct Cleanup;impl Drop for Cleanup {fn drop(&mut self) {GlobalData::free();println!("Cleanup executed on program exit.");}
}struct GlobalData {content: String,
}impl GlobalData{pub fn free(){println!("GlobalData::free...");}}static GLOBAL_DATA: OnceLock<GlobalData> = OnceLock::new();fn main() {GLOBAL_DATA.get_or_init(|| GlobalData {content: "Hello, world!".to_string(),});let _cleanup = Cleanup; // The `Drop` method will be called when `_cleanup` goes out of scopeprintln!("Program is running...");
}
Program is running...
GlobalData::free...
Cleanup executed on program exit.

参考

http://www.ritt.cn/news/7762.html

相关文章:

  • 陕西省建设厅证网站号多少seo推广有哪些方式
  • 网站建设中 什么意思爱站网站长百度查询权重
  • 中国建设招标网网站首页黑科技引流推广神器
  • 做网站怎么挣钱培训管理平台
  • 视频网站建设费用竞价托管代运营公司
  • 天津市住房和城乡建设局网站西安网站seo技术厂家
  • 电子商务网站管理系统完美版杭州seo建站
  • golang做网站广西壮族自治区
  • 网站建设加盟代理天堂网长尾关键词挖掘网站
  • 上饶网站设计公司seo发外链工具
  • 自己做app的网站那种网站怎么搜关键词
  • 虎门外贸网站建设公司网络广告策划的步骤
  • wordpress 栏目链接四川最好的网络优化公司
  • 网络培训研修日志怎样淘宝seo排名优化
  • 网站建设哪个便宜软文代写新闻稿
  • 免费香港网站空间排名优化网站seo排名
  • 小说网站防盗做的最好的是网络营销策略研究论文
  • 岳麓区做网站一起来看在线观看免费
  • 珠海网站建设搭建青岛网站推广企业
  • 网站建设管理制度落实营销推广活动策划方案
  • 做视频教学网站如何做网站描述和关键词怎么写
  • 什么网站可以做翻译兼职网站排名优化公司
  • 别人在百度冒用公司旗号做网站下载百度app到手机上
  • 在别人网站做的友链_为何百度检测带后缀cnindex.asp网络营销最新案例
  • 建站兔软件下载长春网站建设定制
  • 卖域名站长seo推广
  • 程序员做图网站百度推广代理商返点
  • 原阳网站建设网站优化排名哪家性价比高
  • 关于我市政府网站建设的讲话临沂seo全网营销
  • 怎么做网站播放器宁波核心关键词seo收费