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
相关推荐
手揽回忆怎么睡7 小时前
win11灵活控制Python版本,使用pyenv-win
开发语言·python
HalvmånEver7 小时前
Linux:基础IO(终)
linux·运维·c++·学习·缓冲区·libc
程序员卷卷狗7 小时前
Java 单例模式的五种实现:饿汉式、懒汉式、DCL、静态内部类、枚举单例
java·开发语言·单例模式
@淡 定7 小时前
动态代理(JDK动态代理/CGLIB动态代理
java·开发语言·python
laocooon5238578867 小时前
背包问题~~!C++
开发语言·c++·算法
昵称只无法修改7 小时前
计算机底层原理
学习
CreasyChan7 小时前
C# 异步编程详解
开发语言·windows·c#
悟能不能悟7 小时前
java 判断string[]中是否有a
java·开发语言
4***14907 小时前
高并发时代的“确定性”挑战——为何稳定性正在成为 JVM 的下一场核心竞争?
java·开发语言·jvm
charlie1145141917 小时前
在上位机上熟悉FreeRTOS API
笔记·学习·嵌入式·c·freertos·工程