Structs Flashcards
(20 cards)
Cos’è un struct in Rust?
Un tipo definito dall’utente che aggrega dati come campi eterogenei in un’unica entità.
Quali sono i principali “attori” coinvolti nell’uso di un struct?
Dichiarazione del struct, inizializzazione degli oggetti, implementazione dei metodi (blocco impl), uso di traits.
“Un struct in Rust può contenere solo tipi primitivi.”
Falso. I campi possono essere di qualsiasi tipo (anche altri struct o generici).
Un struct è utilizzato per modellare dati ____.
complessi
In quale blocco si definiscono i metodi di un struct?
a) mod
b) trait
c) impl
Perché conoscere i struct è fondamentale in Rust?
Perché costituiscono la base per la modellazione di dati complessi, garantendo chiarezza e sicurezza.
Ordina questi benefici dei struct dal più basilare al più avanzato: Sicurezza in fase di compilazione, Chiarezza e organizzazione del codice, Promozione di design modulari e riutilizzabili.
2 → 1 → 3
“I struct promuovono design modulari e riutilizzabili.”
Vero.
I struct favoriscono ____ in fase di compilazione.
sicurezza
Quale dei seguenti NON è un vantaggio diretto dei struct?
b) Controllo di accesso a basso livello
Quando conviene definire un struct?
Ogni volta che serve rappresentare un’entità con più campi correlati (es. dominio applicazione, configurazioni, dati di stato).
Fai un esempio di entità da modellare con un struct.
Configurazione di un’applicazione, con campi per porta, host e modalità di log.
“Un struct è adatto per gestire configurazioni e dati di stato.”
Vero.
I struct servono a rappresentare ____ che raccolgono informazioni correlate.
entità
Quale caso d’uso indica l’impiego di un struct?
b) Rappresentazione di record con più campi
Come si dichiara una nuova struttura in Rust?
Con la parola chiave struct Nome { campo1: Tipo1, campo2: Tipo2, … }.
Come si inizializza un’istanza di struct?
Tramite literal, es.: let s = Nome { campo1: val1, campo2: val2 };
“I metodi specifici di un struct si dichiarano all’interno di un blocco impl Nome { … }.”
Vero.
Per garantire interfacce comuni e polimorfismo, si integrano i struct con i ____.
traits
Elenca brevemente i passi per aggiungere un metodo a un struct.
Dichiarare un blocco impl NomeStruct
Definire la funzione fn nome_metodo(&self) { … }.