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


Rust String.try_reserve用法及代碼示例


本文簡要介紹rust語言中 std::string::String.try_reserve 的用法。

用法

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

嘗試為至少 additional 更多要插入給定 String 的元素保留容量。集合可以保留更多空間以避免頻繁的重新分配。調用 reserve 後,容量將大於或等於 self.len() + additional 。如果容量已經足夠,則什麽也不做。

錯誤

如果容量溢出,或者分配器報告失敗,則返回錯誤。

例子

use std::collections::TryReserveError;

fn process_data(data: &str) -> Result<String, TryReserveError> {
    let mut output = String::new();

    // Pre-reserve the memory, exiting if we can't
    output.try_reserve(data.len())?;

    // Now we know this can't OOM in the middle of our complex work
    output.push_str(data);

    Ok(output)
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::string::String.try_reserve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。