【Rust】型エイリアス(type)

typeを用いて型エイリアスという別名をつけることができる。

fn main(){
    type Meter = u32;
    type Millimeter = u32;
    let m: Meter = 12;
    let mm: Millimeter = 12000;
    println!("{} {}", m, mm);
}

C++のエイリアスはtypedefやusing

#include <vector>
#include <iostream>

template <class T>
using Vec = std::vector<T>;

int main() {
    Vec<int> v;
    v.push_back(3);
    v.push_back(1);
    v.push_back(4);

    for (auto item : v) {
        std::cout << item << ", ";
    }
    std::cout << std::endl;

    return 0;
}

vector型にエイリアスを使用する

fn main(){

    type v = Vec<i32>;

    let a: v = (0..5).collect();

    for b in &a {
        println!("{}", b);
    }
}