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


Rust String.try_reserve_exact用法及代碼示例


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

用法

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

嘗試為要在給定的 String 中插入的確切 additional 更多元素保留最小容量,在調用 reserve_exact 後,容量將大於或等於 self.len() + additional 。如果容量已經足夠,則什麽也不做。

請注意,分配器可能會為集合提供比其請求更多的空間。因此,不能依賴容量精確到最小。如果預計將來會插入,則首選 reserve

錯誤

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

例子

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