
Unsafe Rust
Unsafe bloklar, raw pointer'lar (*const T, *mut T), FFI, unsafe trait'ler, Undefined Behavior (UB), safety değişmezleri
1Rust'ta unsafe modunun süper güçlerini hangi anahtar kelime etkinleştirir?
Rust'ta unsafe modunun süper güçlerini hangi anahtar kelime etkinleştirir?
Cevap
unsafe anahtar kelimesi, safe Rust'ta yasak olan beş yeteneğin kilidini açar: raw pointer'ları dereference etmek, unsafe fonksiyonları çağırmak, mutable static değişkenlere erişmek, unsafe trait'leri implemente etmek ve union alanlarına erişmek. Bu blok, geliştiricinin memory safety'yi garanti etme sorumluluğunu üstlendiğini derleyiciye bildirir.
2unsafe kod, safe Rust'a kıyasla kaç ek yetenek açar?
unsafe kod, safe Rust'a kıyasla kaç ek yetenek açar?
Cevap
unsafe modu tam olarak beş yetenek açar: raw pointer'ların dereference edilmesi, unsafe fonksiyon veya metotların çağrılması, değiştirilebilir static değişkenlere erişilmesi veya değiştirilmesi, unsafe trait'lerin implemente edilmesi ve union alanlarına erişilmesi. Bu beş işlem, safe ve unsafe Rust arasındaki tek farktır.
3Rust'ta bir değişkene immutable bir raw pointer oluşturmak için doğru sözdizimi nedir?
Rust'ta bir değişkene immutable bir raw pointer oluşturmak için doğru sözdizimi nedir?
Cevap
immutable bir raw pointer oluşturmanın sözdizimi let ptr = &x as *const T şeklindedir. *const T tipi immutable bir raw pointer'ı temsil eder. raw pointer oluşturmak safe'tir, yalnızca deref bir unsafe blok gerektirir. let ptr: *const T = &x ile örtük coercion da kullanılabilir.
Rust'ta *const T ile *mut T arasındaki fark nedir?
raw pointer oluşturmak safe Rust'ta neden izinliyken, onları dereference etmek izinli değildir?
+17 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
Performans Optimizasyonu
Memory Management
Web Frameworks
Database Integration
Rust Tasarım Desenleri
Bir sonraki mülakatın için Rust'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla