配列は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);
}
関数の引数は明確に定義しないといけない。