Classe CTypedPtrArray
Fornisce un "wrapper" indipendente dai tipi per gli oggetti della classe CPtrArray
o CObArray
.
Sintassi
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
Parametri
BASE_CLASS
Classe base della classe di matrice del puntatore tipizzato; deve essere una classe di matrice ( CObArray
o CPtrArray
).
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
Membri
Metodi pubblici
Nome | Descrizione |
---|---|
CTypedPtrArray::Add | Aggiunge un nuovo elemento alla fine di una matrice. Aumenta la matrice, se necessario |
CTypedPtrArray::Append | Aggiunge il contenuto di una matrice alla fine di un'altra. Aumenta la matrice, se necessario |
CTypedPtrArray::Copy | Copia nella matrice un'altra matrice; se necessario, aumenta le dimensioni della matrice. |
CTypedPtrArray::ElementAt | Restituisce un riferimento temporaneo al puntatore dell'elemento nella matrice. |
CTypedPtrArray::GetAt | Restituisce il valore in corrispondenza di un indice specificato. |
CTypedPtrArray::InsertAt | Inserisce un elemento (o tutti gli elementi di un'altra matrice) in corrispondenza di un indice specificato. |
CTypedPtrArray::SetAt | Imposta il valore per un indice specificato; l'aumento di dimensioni della matrice non è consentito. |
CTypedPtrArray::SetAtGrow | Imposta il valore per un indice specificato; se necessario, aumenta le dimensioni della matrice. |
Operatori pubblici
Nome | Descrizione |
---|---|
CTypedPtrArray::operator [ ] | Imposta o ottiene l'elemento in corrispondenza dell'indice specificato. |
Osservazioni:
Quando si usa CTypedPtrArray
anziché CPtrArray
o CObArray
, la funzionalità di controllo dei tipi C++ consente di eliminare gli errori causati da tipi di puntatore non corrispondenti.
Inoltre, il CTypedPtrArray
wrapper esegue gran parte del cast che sarebbe necessario se è stato usato CObArray
o CPtrArray
.
Poiché tutte le CTypedPtrArray
funzioni sono inline, l'uso di questo modello non influisce significativamente sulle dimensioni o sulla velocità del codice.
Per altre informazioni sull'uso CTypedPtrArray
di , vedere gli articoli Raccolte e classi basate su modelli.
Gerarchia di ereditarietà
BASE_CLASS
CTypedPtrArray
Requisiti
Intestazione: afxtempl.h
CTypedPtrArray::Add
Questa funzione membro chiama BASE_CLASS
::Add.
INT_PTR Add(TYPE newElement);
Parametri
TYPE
Parametro modello che specifica il tipo di elemento da aggiungere alla matrice.
newElement
Elemento da aggiungere a questa matrice.
Valore restituito
Indice dell'elemento aggiunto.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::Add.
CTypedPtrArray::Append
Questa funzione membro chiama BASE_CLASS
::Append**.
INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parametri
BASE_CLASS
Classe base della classe di matrice del puntatore tipizzato; deve essere una classe di matrice ( CObArray o CPtrArray).
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
src
Origine degli elementi da aggiungere a una matrice.
Valore restituito
Indice del primo elemento accodato.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::Append.
CTypedPtrArray::Copy
Questa funzione membro chiama BASE_CLASS
::Copy.
void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parametri
BASE_CLASS
Classe base della classe di matrice del puntatore tipizzato; deve essere una classe di matrice ( CObArray o CPtrArray).
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
src
Origine degli elementi da copiare in una matrice.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::Copy.
CTypedPtrArray::ElementAt
Questa funzione inline chiama BASE_CLASS
::ElementAt.
TYPE& ElementAt(INT_PTR nIndex);
Parametri
TYPE
Parametro modello che specifica il tipo di elementi archiviati in questa matrice.
nIndex
Indice integer maggiore o uguale a 0 e minore o uguale al valore restituito da BASE_CLASS
::GetUpperBound.
Valore restituito
Riferimento temporaneo all'elemento nella posizione specificata da nIndex. Questo elemento è del tipo specificato dal parametro template TYPE.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::ElementAt.
CTypedPtrArray::GetAt
Questa funzione inline chiama BASE_CLASS
::GetAt.
TYPE GetAt(INT_PTR nIndex) const;
Parametri
TYPE
Parametro del modello che specifica il tipo di elementi archiviati nella matrice.
nIndex
Indice integer maggiore o uguale a 0 e minore o uguale al valore restituito da BASE_CLASS
::GetUpperBound.
Valore restituito
Copia dell'elemento nella posizione specificata da nIndex. Questo elemento è del tipo specificato dal parametro template TYPE.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::GetAt
CTypedPtrArray::InsertAt
Questa funzione membro chiama BASE_CLASS
::InsertAt.
void InsertAt(
INT_PTR nIndex,
TYPE newElement,
INT_PTR nCount = 1);
void InsertAt(
INT_PTR nStartIndex,
CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);
Parametri
nIndex
Indice integer che può essere maggiore del valore restituito da CObArray::GetUpperBound.
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
newElement
Puntatore all'oggetto da inserire in questa matrice. È consentito un nuovoElement di valore NULL .
nCount
Numero di volte in cui questo elemento deve essere inserito (il valore predefinito è 1).
nStartIndex
Indice integer che può essere maggiore del valore restituito da CObArray::GetUpperBound
.
BASE_CLASS
Classe base della classe di matrice del puntatore tipizzato; deve essere una classe di matrice ( CObArray o CPtrArray).
pNewArray
Un'altra matrice che contiene elementi da aggiungere a questa matrice.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::InsertAt.
CTypedPtrArray::operator [ ]
Questi operatori inline chiamano BASE_CLASS
::operator [ ].
TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;
Parametri
TYPE
Parametro del modello che specifica il tipo di elementi archiviati nella matrice.
nIndex
Indice integer maggiore o uguale a 0 e minore o uguale al valore restituito da BASE_CLASS
::GetUpperBound.
Osservazioni:
Il primo operatore, chiamato per matrici che non const
sono , può essere usato a destra (r-value) o a sinistra (l-value) di un'istruzione di assegnazione. Il secondo, richiamato per const
le matrici, può essere usato solo a destra.
La versione debug della libreria asserisce se l'indice (a sinistra o a destra di un'istruzione di assegnazione) è fuori dai limiti.
CTypedPtrArray::SetAt
Questa funzione membro chiama BASE_CLASS
::SetAt.
void SetAt(
INT_PTR nIndex,
TYPE ptr);
Parametri
nIndex
Indice integer maggiore o uguale a 0 e minore o uguale al valore restituito da CObArray::GetUpperBound.
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
ptr
Puntatore all'elemento da inserire nella matrice in corrispondenza di nIndex. È consentito un valore NULL.
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::SetAt.
CTypedPtrArray::SetAtGrow
Questa funzione membro chiama BASE_CLASS
::SetAtGrow.
void SetAtGrow(
INT_PTR nIndex,
TYPE newElement);
Parametri
nIndex
Indice integer maggiore o uguale a 0.
TYPE
Tipo degli elementi archiviati nella matrice di classi base.
newElement
Puntatore all'oggetto da aggiungere a questa matrice. È consentito un valore NULL .
Osservazioni:
Per altre osservazioni dettagliate, vedere CObArray::SetAtGrow.
Vedi anche
Raccolta di esempi MFC
Grafico della gerarchia
Classe CPtrArray
Classe CObArray