
Smart Pointers
Box<T>, Rc<T>, Arc<T>, RefCell<T>, interior mutability, trait Deref e Drop
1Qual è il caso d'uso principale di Box<T> in Rust?
Qual è il caso d'uso principale di Box<T> in Rust?
Risposta
Box<T> alloca i dati sull'heap anziché sullo stack. È utile per tipi di dimensione sconosciuta in fase di compilazione (tipi ricorsivi), per trasferire l'ownership di grandi quantità di dati senza copiarle, o per creare trait object. Il puntatore Box stesso ha una dimensione fissa sullo stack.
2Come definire un tipo ricorsivo come una linked list in Rust?
Come definire un tipo ricorsivo come una linked list in Rust?
Risposta
Un tipo ricorsivo diretto come enum List { Cons(i32, List), Nil } non compila perché il compilatore non può determinarne la dimensione. Usando Box<List> si crea un'indirezione con dimensione fissa (puntatore), permettendo al compilatore di calcolare la dimensione del tipo.
3Qual è la differenza principale tra Rc<T> e Arc<T>?
Qual è la differenza principale tra Rc<T> e Arc<T>?
Risposta
Rc (Reference Counted) usa un contatore di riferimenti non atomico, il che lo rende più performante ma limitato a un singolo thread. Arc (Atomically Reference Counted) usa operazioni atomiche per il contatore, consentendo la condivisione tra thread ma con un leggero overhead di prestazioni.
Cosa abilita il trait Deref in Rust?
Cos'è la interior mutability (mutabilità interna) in Rust?
+19 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Gestione degli errori
Collezioni
Moduli e package
Traits
Generics
Lifetimes
Iterators & Closures
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
Trait avanzati
Lifetime Avanzati
Type System
Tokio & Async I/O
Ottimizzazione delle Prestazioni
Memory Management
Web Frameworks
Database Integration
Design Pattern in Rust
Padroneggia Rust per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis