當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Vec.as_mut_ptr用法及代碼示例


本文簡要介紹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-lang.org大神的英文原創作品 std::vec::Vec.as_mut_ptr。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。