
Unsafe Rust
Blok unsafe, raw pointer (*const T, *mut T), FFI, unsafe trait, Undefined Behavior (UB), invarian safety
1Keyword mana yang mengaktifkan kekuatan super dari mode unsafe di Rust?
Keyword mana yang mengaktifkan kekuatan super dari mode unsafe di Rust?
Jawaban
Keyword unsafe membuka lima kemampuan yang dilarang di safe Rust: melakukan dereference raw pointer, memanggil fungsi unsafe, mengakses variabel static mutable, mengimplementasikan unsafe trait, dan mengakses field union. Blok ini memberi sinyal kepada compiler bahwa developer mengambil tanggung jawab untuk menjamin memory safety.
2Berapa banyak kemampuan tambahan yang dibuka oleh kode unsafe dibandingkan dengan safe Rust?
Berapa banyak kemampuan tambahan yang dibuka oleh kode unsafe dibandingkan dengan safe Rust?
Jawaban
Mode unsafe membuka tepat lima kemampuan: melakukan dereference raw pointer, memanggil fungsi atau metode unsafe, mengakses atau memodifikasi variabel static yang mutable, mengimplementasikan trait unsafe, dan mengakses field union. Lima operasi ini adalah satu-satunya perbedaan antara safe dan unsafe Rust.
3Apa sintaks yang benar untuk membuat raw pointer immutable ke sebuah variabel di Rust?
Apa sintaks yang benar untuk membuat raw pointer immutable ke sebuah variabel di Rust?
Jawaban
Sintaks untuk membuat raw pointer immutable adalah let ptr = &x as *const T. Tipe *const T merepresentasikan raw pointer immutable. Membuat raw pointer bersifat safe, hanya deref yang memerlukan blok unsafe. Coercion implisit juga dapat digunakan dengan let ptr: *const T = &x.
Apa perbedaan antara *const T dan *mut T di Rust?
Mengapa membuat raw pointer diizinkan di safe Rust sementara melakukan dereference tidak?
+17 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialisasi
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