
Trait avanzati
Associated type vs generic, GATs, trait object, parola chiave dyn, object safety, vtable
1Qual è la differenza principale tra un associated type e un parametro generic in un trait?
Qual è la differenza principale tra un associated type e un parametro generic in un trait?
Risposta
Un associated type consente una sola implementazione del trait per tipo, mentre un parametro generic ne consente diverse. Con un associated type il tipo è determinato dall'implementazione stessa, il che semplifica l'inferenza di tipo ed evita di specificare il tipo a ogni utilizzo.
2Quale parola chiave si usa per creare un trait object in Rust?
Quale parola chiave si usa per creare un trait object in Rust?
Risposta
La parola chiave dyn si usa per creare un trait object in Rust. Indica che il dispatch dei metodi avverrà dinamicamente a runtime tramite una vtable, a differenza del dispatch statico dei generic che viene risolto a tempo di compilazione.
3Che cos'è una vtable nel contesto dei trait object?
Che cos'è una vtable nel contesto dei trait object?
Risposta
Una vtable (virtual table) è una tabella di puntatori alle implementazioni dei metodi del trait per un tipo concreto. Viene usata per il dispatch dinamico dei trait object, permettendo di chiamare il metodo corretto a runtime senza conoscere il tipo concreto a tempo di compilazione.
Quale condizione deve soddisfare un trait per essere object-safe?
Perché il trait Clone non è object-safe?
+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
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
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