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
相关推荐
张np7 小时前
java基础-ArrayList
java·开发语言
zmzb01037 小时前
C++课后习题训练记录Day42
开发语言·c++·算法
不会编程的小寒7 小时前
C / C++ 面试题
java·开发语言
坐吃山猪7 小时前
Electron02-Hello
开发语言·javascript·ecmascript
Mr Lee_7 小时前
Smali 文件生成dex装箱算法整合
开发语言·python·算法
姓刘的哦7 小时前
RK3568开发板运行Qt
开发语言·qt
刘晓倩7 小时前
Python3的Sequence
开发语言·python
消失的旧时光-19438 小时前
彻底理解 synchronized:实例锁、类锁与自定义锁的原理和最佳实践
java·开发语言
45288655上山打老虎8 小时前
【智能指针】
开发语言·c++·算法
蜗牛攻城狮8 小时前
JavaScript 尾递归(Tail Recursion)详解
开发语言·javascript·ecmascript