
Lifetimes
Lifetime ek açıklamaları, elision kuralları, 'static lifetime, struct lifetime'ları, lifetime bounds
1Rust'ta lifetime'ların temel amacı nedir?
Rust'ta lifetime'ların temel amacı nedir?
Cevap
Lifetime'lar, compiler'ın tüm reference'ların kullanım süreleri boyunca geçerli olduğunu doğrulamasını sağlar. Bir reference'ın asla işaret ettiği veriden daha uzun yaşamamasını garanti ederek dangling reference'ları önler. Borrow checker, bellek güvenliğini derleme zamanında doğrulamak için lifetime'ları kullanır ve çalışma zamanında ek yük getirmez.
2Bir reference üzerinde lifetime'ı belirtmek için hangi söz dizimi kullanılır?
Bir reference üzerinde lifetime'ı belirtmek için hangi söz dizimi kullanılır?
Cevap
Lifetime'lar bir kesme işareti ardından bir adla belirtilir, genellikle 'a gibi küçük bir harf kullanılır. &'a T söz dizimi, 'a lifetime'ına sahip T'ye bir reference anlamına gelir. Geleneksel olarak generic lifetime'lar için 'a, 'b, 'c kullanılır, ancak kesme işaretinden sonra geçerli herhangi bir tanımlayıcı kullanılabilir.
3Rust'ta 'static lifetime ne anlama gelir?
Rust'ta 'static lifetime ne anlama gelir?
Cevap
'static lifetime, bir reference'ın programın tüm çalışma süresi boyunca yaşayabileceğini gösterir. "hello" gibi string literal'lar binary'e gömülü oldukları için otomatik olarak 'static lifetime'a sahiptir. Global sabitler ve Box::leak ile oluşturulan değerler de bu lifetime'a sahiptir. Not: 'static, değerin program başından beri var olduğu anlamına gelmez, sona kadar yaşayabileceği anlamına gelir.
Rust compiler'ı kaç lifetime elision kuralını otomatik olarak uygular?
fn longest(x: &str, y: &str) -> &str fonksiyonu neden derlenmiyor?
+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
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
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