配列はTという単一の型のオブジェクトの集合。それらのオブジェクトはメモリ上の連続した領域に保存される。
fn main(){ let arr = [10, 20, 30]; println!("{}, {}, {}", arr[0], arr[1], arr[2]); for v in &arr { println!{"{}", v}; } }
C++の配列
#include <iostream> void PrintArray1(const int x[5]){ static_assert(sizeof(x) == sizeof(int*), ""); for (int i = 0; i < 5; ++i){ std::cout << x[i] << std::endl; } } void PrintArray2(const int* x) { for (int i = 0; i < 5; ++i){ std::cout << x[i] << std::endl; } } int main() { int x[5] = {0, 1, 2, 3, 4}; PrintArray1(x); PrintArray2(x); return 0; }
↓ Rustで書くことこうなる
fn PrintArray1(ary: [i32; 5]) { for i in ary { println!{"{}", i}; } } fn main(){ let x: [i32; 5]= [0, 1, 2, 3, 4]; PrintArray1(x); }
関数の引数は明確に定義しないといけない。