Casa Finanza personale Come costruire un modello di struttura in C ++ - dummies

Come costruire un modello di struttura in C ++ - dummies

Video: Programmazione in C : le basi per creare programmi 2025

Video: Programmazione in C : le basi per creare programmi 2025
Anonim

I modelli di struttura hanno molti usi interessanti, come la creazione di un repository di dati che non dipende da un particolare tipo. L'esempio di StructureTemplate qui ne mostra uno.

# include usando lo spazio dei nomi std; template struct Volume {T height; T larghezza; Lunghezza T; Volume () {altezza = 0; larghezza = 0; length = 0;} T getvolume () {return height * width * length;} T getvolume (T H, T W, T L) {height = H; larghezza = W; lunghezza = L; altezza di ritorno * larghezza * lunghezza;}}; int main () {Volume first; cout << "primo volume:" << primo. getvolume () << endl; primo. altezza = 2; primo. larghezza = 3; primo. lunghezza = 4; cout << "primo volume:" << primo. getvolume () << endl; Volume secondo; cout << "secondo volume:" << secondo. getvolume (2, 1, 3. 2, 4. 3) << endl; cout << "height:" << secondo. altezza << endl; cout << "width:" << secondo. larghezza << endl; cout << "lunghezza:" << secondo. lunghezza << endl; return 0;}

In questo caso, la struttura contiene valori di dati di altezza, larghezza e lunghezza che il codice può utilizzare per determinare il volume. La struttura include un costruttore per inizializzare i valori, quindi anche se qualcuno chiama getvolume () senza inizializzare la struttura, non accadrà nulla di male.

La struttura consente l'accesso indipendente a ciascuno dei valori dei dati. È possibile impostare o ottenere come necessario.

La funzione getvolume () è sovraccaricata. Puoi chiamarlo con o senza valori di input. Il codice in main () verifica a fondo la struttura. Ecco cosa vedi come output di questo esempio:

Primo volume: 0 Primo volume: 24 Secondo volume: 28. 896 Altezza: 2. 1 Larghezza: 3. 2 Lunghezza: 4. 3

Puoi usare le strutture per un altro scopo interessante. Lo standard C ++ dice che non è possibile creare un modello typedef. Ad esempio, il seguente codice genera un errore quando si tenta di compilarlo:

template typedef map MyDef;

Quando si tenta di compilare questo codice in Codice:: Blocchi, viene visualizzato il seguente errore:

errore: dichiarazione modello di 'typedef'

Tuttavia, è possibile definire un typedef all'interno di un modello di struttura. Il codice di esempio StructureTemplate2 qui mostra come.

#include #include using namespace std; template struct MyDef {typedef map Type;}; int main () {MyDef:: tipo matrimoni; matrimoni ["Tom"] = "Suzy"; matrimoni ["Harry"] = "Harriet"; cout << matrimoni ["Tom"] << endl; cout << matrimoni ["Harry"] << endl; return 0;}

Questo esempio supera le limitazioni del C ++ posizionando il typedef all'interno della struct, MyDef. La stessa struttura può contenere un numero qualsiasi di voci typedef.

L'uso di un typedef in questo modo facilita il lavoro con la mappa.Tutto ciò di cui devi preoccuparti è il tipo di valore: il tipo di chiave è già definito come stringa.

Come costruire un modello di struttura in C ++ - dummies

Scelta dell'editore

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

Dettagli Enhancer in Photomatix Pro ti consente di toni mappa le tue immagini ad alta gamma dinamica (HDR). Come puoi vedere da questa figura, ci sono un certo numero di controlli. Per fortuna, sono ben organizzati in aree funzionali. Le tre finestre mobili mostrano le impostazioni, l'anteprima dell'immagine e l'istogramma. Forza: controlla la forza di potenziamento del contrasto, sia locale ...

HDR Fotografia - Miscela materiale da fonti alternative - manichini

HDR Fotografia - Miscela materiale da fonti alternative - manichini

Cerca le aree dove potresti aver bisogno per mescolare il materiale da fonti alternative. Ad esempio, se una parte del cielo è saltata fuori, potresti voler sostituire il cielo scoppiato con una versione che è stata mappata in modo diverso in modo che il cielo appaia meglio (ciò che spesso accade è il resto ...

HDR Fotografia: scegli un formato file - dummies

HDR Fotografia: scegli un formato file - dummies

Quando crei un'immagine ad alta gamma dinamica, spesso viene data la possibilità di salvarlo come file HDR per un uso successivo. Se lo si salva come file HDR dipende in parte dalle preferenze e in parte da ciò che si intende fare. Normalmente, salti a destra nella mappatura dei toni, salva il minimo finale ...

Scelta dell'editore

Farmaci Opzioni per gestire la rabbia - manichini

Farmaci Opzioni per gestire la rabbia - manichini

La maggior parte dei programmi di gestione della rabbia non affronta il problema dei farmaci. In parte, probabilmente perché i farmaci non sono in realtà un modo per gestire la tua rabbia. E gli studi sull'efficacia dei farmaci per la rabbia sono stati alquanto incoerenti. Tuttavia, dovresti sapere che i farmaci possono essere un'opzione per alcune persone, specialmente quando altri disturbi emotivi, come ...

Gestione di amici e parenti con intelligenza emotiva - manichini

Gestione di amici e parenti con intelligenza emotiva - manichini

Ecco alcuni modi in cui si praticano tecniche di intelligenza emotiva con amici intimi e i parenti possono aiutarti a disinnescare situazioni difficili ea mantenere relazioni equilibrate e soddisfacenti con i tuoi cari. A partire dal finale le persone a volte interrompono completamente i contatti con parenti e amici e potresti trovarti in una situazione in cui ...

Mini questionario motivazionale - manichini

Mini questionario motivazionale - manichini

Dai un'occhiata al seguente elenco di compiti e decidi se vuoi ottenerne uno. Seleziona le attività che pensi di voler intraprendere: Acquistare una nuova casa Decorare la tua casa Sviluppare uno stile di vita più salutare Ottenere un nuovo lavoro Ottenere una promozione di lavoro Passare gli esami Lavorare per un ...

Scelta dell'editore

Come identificare i trigger di rabbia - dummies

Come identificare i trigger di rabbia - dummies

Conoscere i trigger di rabbia - gli eventi e le situazioni che ti fanno impazzire - è importante perché risponderai in modo più efficace alla tua rabbia quando ti sentirai preparato. Anticipare la possibilità di rabbia aumenta la capacità di esprimerlo in modo più costruttivo. Ecco alcuni trigger di rabbia comuni. Molte persone si sentono ...

Come misurare il tuo stress - manichini

Come misurare il tuo stress - manichini

Riconoscere i sintomi dello stress e quanto spesso si verificano può aiutarti ad affrontare lo stress. Utilizza le due settimane precedenti come periodo di tempo e registra l'occorrenza dei seguenti segni e sintomi fisici ed emotivi di stress. Dopo aver identificato i sintomi dello stress e quanto spesso si verificano, utilizzare la scala di valutazione dello stress per trovare il ...

Come calmare la mente - dummies

Come calmare la mente - dummies

Trovare modi per ridurre i livelli di stress aumenterà la tua felicità. A volte distrarti non è abbastanza per calmare la tua mente. A volte avete bisogno di misure più forti per eliminare, o almeno rallentare, quelle preoccupazioni e preoccupazioni indesiderate e che producono stress. Forse hai una preoccupazione inquietante che ti intrude continuamente nel tuo pensiero e ti impedisce di goderti ...