本文简要介绍rust语言中 std::vec::Vec.as_mut_ptr
的用法。
用法
pub fn as_mut_ptr(&mut self) -> *mut T
返回指向向量缓冲区的不安全可变指针。
调用者必须确保向量比这个函数返回的指针的寿命更长,否则它将最终指向垃圾。修改向量可能会导致其缓冲区被重新分配,这也会使指向它的任何指针无效。
例子
// Allocate vector big enough for 4 elements.
let size = 4;
let mut x: Vec<i32> = Vec::with_capacity(size);
let x_ptr = x.as_mut_ptr();
// Initialize elements via raw pointer writes, then set length.
unsafe {
for i in 0..size {
*x_ptr.add(i) = i as i32;
}
x.set_len(size);
}
assert_eq!(&*x, &[0, 1, 2, 3]);
相关用法
- Rust Vec.as_mut_slice用法及代码示例
- Rust Vec.as_ptr用法及代码示例
- Rust Vec.as_slice用法及代码示例
- Rust Vec.append用法及代码示例
- Rust Vec.drain用法及代码示例
- Rust Vec.into_raw_parts用法及代码示例
- Rust Vec.resize用法及代码示例
- Rust Vec.swap_remove用法及代码示例
- Rust Vec.is_empty用法及代码示例
- Rust Vec.reserve_exact用法及代码示例
- Rust Vec.retain_mut用法及代码示例
- Rust Vec.try_reserve_exact用法及代码示例
- Rust Vec.new_in用法及代码示例
- Rust Vec.insert用法及代码示例
- Rust Vec.retain用法及代码示例
- Rust Vec.with_capacity用法及代码示例
- Rust Vec.from_raw_parts用法及代码示例
- Rust Vec.into_boxed_slice用法及代码示例
- Rust Vec.reserve用法及代码示例
- Rust Vec.dedup_by用法及代码示例
- Rust Vec.shrink_to_fit用法及代码示例
- Rust Vec.dedup用法及代码示例
- Rust Vec.set_len用法及代码示例
- Rust Vec.capacity用法及代码示例
- Rust Vec.into_raw_parts_with_alloc用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::vec::Vec.as_mut_ptr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。