#arena #rc #typed

rc_arena

提供对底层对象引用计数的指针的竞技场

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2015 年 8 月 29 日

676内存管理

每月 24 次下载

MIT 许可证

9KB
167

rc_arena 构建状态 Crates.io

文档

相对于 typed-arena 的替代品,它返回对底层对象的引用计数指针,避免了生命周期限制,但会带来运行时开销。当你希望创建大量紧密排列在内存中的 Rc<T> 对象,或希望避免昂贵的分配时,非常有用。

与所有竞技场一样,如果你不关心直到整个对象集合使用完毕后才进行释放,它也非常有用。

如何使用它?

Cargo.toml

[dependencies]
rc_arena = "0.1.0"

代码

extern crate rc_arena;

use rc_arena::Arena;

fn main() {
	let arena = Arena::new();
	
	let foo = arena.alloc([1,2,3,4]);
	let bar = arena.alloc([5,6,7,8]);
	let baz = foo.clone();

	assert_eq!(foo[0], 1);
	assert_eq!(bar[0], 5);
	assert_eq!(baz[0], 1);
}

另请参阅

无运行时依赖