当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。