
Lifetimes
Anotasi lifetime, aturan elision, lifetime 'static, lifetime pada struct, lifetime bounds
1Apa tujuan utama lifetime di Rust?
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.
2Sintaks apa yang digunakan untuk menganotasi lifetime pada sebuah reference?
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.
3Apa arti lifetime 'static di Rust?
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.
Berapa banyak aturan elision lifetime yang diterapkan compiler Rust secara otomatis?
Mengapa fungsi fn longest(x: &str, y: &str) -> &str tidak dapat dikompilasi?
+17 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialisasi
Unsafe Rust
Trait Lanjutan
Lifetime Lanjutan
Type System
Tokio & Async I/O
Optimasi Performa
Memory Management
Web Frameworks
Database Integration
Design Pattern Rust
Kuasai Rust untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis