иногда, но, как правило, следует избегать.

я есть следующий код:

const N: usize = 10000;
const S: usize = 7000;

#[derive(Copy, Clone, Debug)]
struct T {
    a: f64,
    b: f64,
    f: f64
}

fn main() {
    let mut t: [T; N] = [T {a: 0.0, b: 0.0, f: 0.0}; N];

    for i in 0..N {
        t[i].a = 0.0;
        t[i].b = 1.0;
        t[i].f = i as f64 * 0.25;
    }

    for _ in 0..S {
        for i in 0..N {
            t[i].a += t[i].b * t[i].f;
            t[i].b -= t[i].a * t[i].f;
        }
        println!("{}", t[1].a);
    }
}

Я не уверен, почему массивt должен быть инициализирован таким образом. Первый цикл for предназначен для инициализации массива с содержащей структурой их соответствующими значениями.

Когда я пытаюсь пропустить инициализацию непосредственно с массивом:

let mut t: [T; N];

Я получаю следующую ошибку:

ошибка [E0381]: использование возможно неинициализированной переменной: t

Все циклы for предназначены для этого, я просто хочу знать, есть ли более разумный способ для массива и его инициализации с первым циклом for.

Ответы на вопрос(2)

Ваш ответ на вопрос