Rust

Lifetimes

Anotasi lifetime, aturan elision, lifetime 'static, lifetime pada struct, lifetime bounds

20 pertanyaan wawancaraยท
Mid-Level
1

Apa tujuan utama lifetime di Rust?

Jawaban

Lifetime memungkinkan compiler memverifikasi bahwa semua reference valid selama seluruh penggunaannya. Lifetime memastikan bahwa sebuah reference tidak pernah hidup lebih lama dari data yang dirujuknya, sehingga mencegah dangling reference. Borrow checker menggunakan lifetime untuk memvalidasi keamanan memori pada saat compile, tanpa overhead saat runtime.

2

Sintaks apa yang digunakan untuk menganotasi lifetime pada sebuah reference?

Jawaban

Lifetime dianotasi dengan tanda apostrof diikuti sebuah nama, biasanya huruf kecil seperti 'a. Sintaks &'a T berarti sebuah reference ke T dengan lifetime 'a. Berdasarkan konvensi, 'a, 'b, 'c digunakan untuk lifetime generik, tetapi identifier valid apa pun dapat digunakan setelah apostrof.

3

Apa arti lifetime 'static di Rust?

Jawaban

Lifetime 'static menunjukkan bahwa sebuah reference dapat hidup selama seluruh durasi program. String literal seperti "hello" secara otomatis memiliki lifetime 'static karena tertanam dalam binary. Konstanta global dan nilai yang dibuat dengan Box::leak juga memiliki lifetime ini. Catatan: 'static tidak berarti nilai itu sudah ada sejak awal program, tetapi bahwa ia dapat hidup hingga akhir.

4

Berapa banyak aturan elision lifetime yang diterapkan compiler Rust secara otomatis?

5

Mengapa fungsi fn longest(x: &str, y: &str) -> &str tidak dapat dikompilasi?

+17 pertanyaan wawancara

Kuasai Rust untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis