Vec

Vec ๋Š” ํž™ ํ• ๋‹น๋œ ํ‘œ์ค€ ๊ฐ€๋ณ€ํฌ๊ธฐ ๋ฒ„ํผ์ž…๋‹ˆ๋‹ค.

Vec is the standard resizable heap-allocated buffer:

fn main() {
    let mut numbers = Vec::new();
    numbers.push(42);

    let mut v1 = Vec::new();
    v1.push(42);
    println!("v1: len = {}, capacity = {}", v1.len(), v1.capacity());

    let mut v2 = Vec::with_capacity(v1.len() + 1);
    v2.extend(v1.iter());
    v2.push(9999);
    println!("v2: len = {}, capacity = {}", v2.len(), v2.capacity());
}

Vec์€ Deref<Target = [T]>๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Vec์—์„œ ์Šฌ๋ผ์ด์Šค ๋ฉ”์„œ๋“œ(๋ฐฐ์—ด ๊ด€๋ จ ๋ฉ”์„œ๋“œ)๋ฅผ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

Vec implements Deref<Target = [T]>, which means that you can call slice methods on a Vec.