1个不稳定版本
0.1.0 | 2023年9月3日 |
---|
#680 在 内存管理
在 subimg 中使用
39KB
867 行
cev
一个可扩展的数据数组,用于向数组开头添加数据。
use cev::Cev;
let mut cev = Cev::new();
cev.push(1);
cev.push(2);
cev.push(3);
assert_eq!(cev, [3, 2, 1]);
assert_eq!(cev.pop(), Some(3));
assert_eq!(cev.pop(), Some(2));
assert_eq!(cev, [1]);
let mut cev_app = Cev::from([-2, -1, 0]);
cev.append(&mut cev_app);
assert_eq!(cev, [-2, -1, 0, 1]);
let mut cev_list = (0..6).collect::<Cev<_>>();
assert_eq!(cev_list, [0, 1, 2, 3, 4, 5]);
一个包含类型为 u8
的元素 a
和 b
且容量为4的Cev数组可以表示如下。
mov_ptr raw_ptr len capacity
Any mem +--------+--------+--------+--------+
|¹0x0124 |²0x0122 | 2 | 4 |
+--------+--------+--------+--------+
|
v
Heap +--------+--------+--------+--------+
| uninit | uninit | b | a |
+--------+--------+--------+--------+
|
v
Pointer +--------+--------+--------+--------+
| 0x0122 | 0x0123 | 0x0124 | 0x0125 |
+--------+--------+--------+--------+
<--
¹ Beginning of array data initialization.
² To allocate and deallocate an array.