本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。