Structure générique

1. Introduction

Nous allons encore un peu loin en étudiant à présent les structures génériques. Si vous avez fait du C++, vous êtes familier des fonctions templates dans lesquelles on peut manipuler un type générique. C’est un peu la même chose qui est réalisée ici avec les structures génériques. En effet, une structure générique s’applique à un type générique et concrètement le même code va pouvoir s’appliquer à un type entier, flottant, chaîne de caractères, etc. (selon le contexte fonctionnel bien sûr).

2. Exemple support

On se propose de créer une structure qui encapsule une structure de données de type vecteur qui stocke des entiers de type i64. On va munir cette structure d’une méthode qui retourne la longueur, d’une autre qui retourne la valeur d’un indice donné et d’une troisième qui permet d’ajouter un nouvel élément au vecteur.

Pour ce faire, on commence par créer un nouveau projet Rust :

cargo new structs_generiques -bin 

On va directement utiliser une structure de données de vecteurs Vec disponible dans la librairie standard de Rust. Voici sa page de documentation : https://doc.rust-lang.org/std/vec/struct.Vec.html

On définit ainsi notre structure :

pub struct VecteurEntiers{ 
   vec : Vec<i64> ...
Pour consulter la suite, découvrez le livre suivant :
couv_EIRUST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Les méthodes de structure en Rust
Suivant
La question des références dans une structure