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
相关推荐
2501_941111863 分钟前
C++模块化设计原则
开发语言·c++·算法
2501_9412375313 分钟前
基于C++的游戏引擎开发
开发语言·c++·算法
WMX101220 分钟前
Origin学习记录
学习
枫叶丹422 分钟前
【Qt开发】Qt窗口(二) -> QToolBar工具栏
开发语言·数据库·c++·qt
熙客31 分钟前
Java集合框架概述
java·开发语言
我命由我1234541 分钟前
Java 开发 - 简单消息队列实现、主题消息队列实现
java·开发语言·后端·算法·java-ee·消息队列·intellij-idea
chilavert31842 分钟前
技术演进中的开发沉思-194 JavaScript: Prototype 框架
开发语言·javascript·原型模式
2501_9412374542 分钟前
高性能计算通信库
开发语言·c++·算法
杜子不疼.1 小时前
【C++】红黑树为什么比AVL快?用C++亲手实现告诉你答案
开发语言·c++
程序猿追1 小时前
Ascend C编程范式总结:与CUDA的异同对比
c语言·开发语言·算法