
Generics
Generic functions, structs, enums, trait bounds, where clause, monomorphization
1Quelle est la syntaxe correcte pour déclarer une fonction générique en Rust ?
Quelle est la syntaxe correcte pour déclarer une fonction générique en Rust ?
Réponse
En Rust, les paramètres de type générique se déclarent entre chevrons après le nom de la fonction. La syntaxe fn nom<T>(param: T) indique que T est un paramètre de type qui sera déterminé à l'utilisation. Le compilateur génère ensuite du code spécialisé pour chaque type concret utilisé lors de l'appel de la fonction.
2Comment déclarer une struct générique avec un champ de type T ?
Comment déclarer une struct générique avec un champ de type T ?
Réponse
Une struct générique se déclare avec le paramètre de type entre chevrons après le nom de la struct. La syntaxe struct Nom<T> { champ: T } permet de créer une structure réutilisable avec différents types. Le type T peut ensuite être utilisé dans les champs et les méthodes associées à cette struct.
3Qu'est-ce que la monomorphisation en Rust ?
Qu'est-ce que la monomorphisation en Rust ?
Réponse
La monomorphisation est le processus par lequel le compilateur Rust génère du code machine spécialisé pour chaque type concret utilisé avec un générique. Par exemple, si une fonction générique est appelée avec i32 et String, le compilateur crée deux versions distinctes de cette fonction. Cela garantit des performances optimales sans overhead à l'exécution.
Comment ajouter un trait bound sur un paramètre générique T ?
Quelle est la différence entre les syntaxes impl<T> Struct<T> et impl Struct<i32> ?
+17 questions d'entretien
Autres sujets d'entretien Rust
Les bases de Rust
Ownership & Borrowing
Structs & Enums
Gestion des erreurs
Collections
Modules & Packages
Traits
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde & Serialization
Unsafe Rust
Traits Avancés
Lifetimes Avancés
Type System
Tokio & Async I/O
Optimisation de Performance
Memory Management
Web Frameworks
Database Integration
Design Patterns Rust
Maîtrise Rust pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement