rust持续学习Box::leak

Box就是unique_ptr

这个函数的功能是消费box返回一个全局变量!

写一个函数,想要真的返回全局变量,感觉用这个是个好的做法

rust 复制代码
fn Foo()->Option<&'static mut A>
{
	let a = Box::new(A());
	Some(Box::leak(a))
}

这样就能当真拿到这个全局变量了

还有一种是lazy macro

use lazy_static::lazy_static;

然后包在里面

这是圣经里的例子

rust 复制代码
static NAMES: Mutex<String> = Mutex::new(String::from("Sunface, Jack, Allen"));
GG error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple variants
lazy_static! {
    static ref NAMES: Mutex<String> = Mutex::new(String::from("Sunface, Jack, Allen"));
}
OK
相关推荐
执笔论英雄2 小时前
Slime异步原理(单例设计模式)4
开发语言·python·设计模式
('-')4 小时前
《从根上理解MySQL是怎样运行的》第十章学习笔记
笔记·学习·mysql
e***74954 小时前
Modbus报文详解
服务器·开发语言·php
hd51cc4 小时前
MFC学习笔记 对话框
笔记·学习·mfc
lly2024064 小时前
ASP 发送电子邮件详解
开发语言
小徐敲java4 小时前
python使用s7协议与plc进行数据通讯(HslCommunication模拟)
开发语言·python
likuolei4 小时前
XSL-FO 软件
java·开发语言·前端·数据库
6***37944 小时前
PHP在电商中的BigCommerce
开发语言·php
Dev7z4 小时前
基于Matlab的多制式条形码识别与图形界面(GUI)系统设计与实现
开发语言·matlab
合作小小程序员小小店4 小时前
桌面开发,在线%信息管理%系统,基于vs2022,c#,winform,sql server数据。
开发语言·数据库·sql·microsoft·c#