Strutture in C ++. parte 2





++ struttura, struttura C ++, struct C ++. strutture annidate

Con strutture C ++ abbiamo già imparato nel precedente articolo. Continuiamo conoscente.

definizione struttura è desiderabile disporre di fuori principale() funzioni. Allora sarà in grado di lavorare con altra funzione definita dal programmatore, come mostrato nel nostro Esempio della prima parte. Questa dichiarazione chiamata esterna.

inizializzazione. Gli elementi della struttura possono essere inizializzati direttamente quando si dichiara oggetto.

Dichiariamo l'oggetto volume 1 in linea 13 e condurre la sua inizializzazione. Sembra per inizializzare gli elementi dell'array – tra parentesi graffe e separati da virgole. Questi dati sono scritti negli elementi corrispondenti della struttura dell'ordine. In che ordine sono definiti gli elementi di struttura – e poi registra valori. L'operazione era ancora possibile non utilizzare (secondo il C ++ 11).

Si consideri il seguente esempio per inizializzare una struttura più complessa Donna meravigliosa :

++ struttura, struttura C ++, struct C ++. strutture annidate

L'oggetto di questa struttura può essere inizializzata in modo:

++ struttura, struttura C ++, struct C ++. strutture annidate

Ma se la struttura contiene più di due o tre elementi -zhelatelno non fare. E 'un po' di confusione e complica la leggibilità e la comprensione del programma.

Annuncio di oggetti. Creare l'oggetto struttura può essere direttamente durante la sua determinazione. Per fare questo, è necessario dare il nome di un oggetto tra un punto e virgola e una parentesi graffa di chiusura:

In C ++, è possibile determinare la struttura senza impugnatura (tipo Senza nome):

In questo caso, è necessario dichiarare gli oggetti nel determinare la struttura. Nella funzione principale, non sarà in grado di creare altri oggetti di tale struttura, dal momento che nessun descrittore. Questa tecnica ha senso applicare, se la struttura di oggetti sarà molto piccolo – 1 o 2.

assegnazione (=) per strutture. Per oggetti della stessa struttura può essere utilizzato l'operatore di assegnazione = . Funzionamento assegnare elementi di uno valori dell'oggetto degli elementi del secondo oggetto.

Questo cosiddetto elemento saggio o assegnazione termwise. Lo schermo:

++ struttura, struttura C ++, struct C ++. strutture annidate

Ha funzionato – tutti gli elementi della struttura dell'oggetto volume2 elementi in acciaio sono oggetto volume 1.

Struttura della memoria occupata. Si consideri l'esempio: utilizzando l'operatore taglia di, Scopriamo la quantità di memoria prende ogni elemento in una struttura separata. Si calcola la quantità totale di elementi di memoria. quindi applicare taglia di l'oggetto della struttura e vedere, dimensioni che non corrispondono.

Lo schermo:

++ struttura, struttura C ++, struct C ++. strutture annidate

taglia di Ci ha mostrato la quantità di memoria la struttura di ogni elemento Bell'uomo. Abbiamo riassunto di questi valori e ricevuti 25. Cioè, l'idea della struttura dovrebbe prendere 25 byte di RAM. Ma quando applichiamo l'operatore taglia di alla struttura – otteniamo il valore 28.

La dimensione della struttura oggetto non è sempre uguale alla somma delle sue dimensioni elementi. Questo accade perché gli elementi di allineamento di diverse lunghezze. Pertanto, la struttura può soddisfare le locazioni di memoria anonimi. Se avete bisogno di sapere quanti effettivamente occupa nella struttura di memoria – ricevuto taglia di , come nell'esempio.

Questo video è dalla lezione precedente. Chi non ha visto – prendere tempo




Abbiamo imparato come determinare la struttura, come dichiarare e inizializzare i loro oggetti. Se abbiamo bisogno di creare più di 2-3 struttura edilizia, allora è meglio creare una matrice di strutture. Questo argomento è stato discusso nel prossimo articolo.

Per sostenere il nostro sito – cliccare sul salvadanaio e scegliere qualsiasi modo conveniente.

Newsletter nuove lezioni:


Accetto di ricevere messaggi da purecodecpp.com sulla mia e-mail

data
pagina
Strutture in C ++. parte 2
valutazione
5

3 pensieri su "Strutture in C ++. parte 2

  1. stranamente, ma con il nome della struttura in difficoltà, ovvero quando l'ingresso
    volume = { “nome”, eccetera ;

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>