Capire la dichiarazione di classe o di prototipo , come illustrato di seguito . Il primo parametro, il tipo , specifica che tipo di oggetti sono memorizzati in e restituito dalla matrice. Il secondo parametro , ARG_TYPE , indica il tipo di argomento utilizzato per accedere a un oggetto . Spesso , ARG_TYPE è un riferimento al primo parametro . Quelli con la conoscenza della Standard Template Library del C + + puro noterà la somiglianza di MFC CArray prototipo a quella del contenitore Map :
classe template CArray : pubblico
CObject
2
Conoscere le nozioni di base del CArray MFC . L' indicizzazione è in base zero . Cioè, il primo elemento è in posizione 0 , mentre l' ultimo elemento è in posizione " ARRAY_SIZE - 1 ". Se l'oggetto è CArray di taglia 10 , allora il suo ultimo elemento è in posizione 9 . La dimensione della matrice può essere preimpostata , oppure gli elementi possono essere aggiunti uno alla volta , permettendo la matrice di crescere oltre la sua dimensione attuale . Le allocazioni di memoria sono contigui per impostazione predefinita, fino a quando il settore di memoria viene superata .
3
pre - allocare memoria per l'array . Fatelo subito dopo la dichiarazione . Anche se non si conosce la dimensione della matrice raggiungerà , fare una stima liberale . Pre- assegnazione riserva una contigua ( continua ) area di memoria in cui l'array risiederà . Quando la memoria non ha discontinuità , le operazioni di matrice sono più efficienti e la copia di dati e trasferimenti sono impedito . Per questa operazione , utilizzare il " SetSize ( ) " la funzione
4
Aggiungi oggetti alla matrice utilizzando il pulsante "Aggiungi ( ) " la funzione come mostrato di seguito : .
CArray Parr ;
pArr.Add ( CPoint ( 20 , 40) ) ;
5 elementi di accesso
archiviato nella matrice . È possibile farlo attraverso la " GetAt ( ) " la funzione e attraverso la " [ ] " operatore come in tutti gli altri array . " GetAt ()" accetta un intero indice e restituisce l'elemento memorizzato in quella posizione . Il suo opposto è " SetAt ()" che cambia il valore di un determinato indice .
6
rimuovere un elemento dalla matrice . Per questo , è possibile utilizzare il " RemoveAt ( )" o la funzione " RemoveAll ( ) " . " RemoveAll ( ) " cancella l'oggetto CArray di tutti gli elementi . " RemoveAt ( ) " accetta due ingressi, un indice intero e il numero di elementi da rimuovere a partire da quella posizione :
vuoto RemoveAt ( int nIndex , int nCount = 1) ;
Informazioni correlate
Programmazione © www.354353.com