Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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).
TIPO
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 CTypedPtrArraydi , 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
TIPO
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).
TIPO
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).
TIPO
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
TIPO
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
TIPO
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.
TIPO
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
TIPO
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 constsono , 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.
TIPO
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.
TIPO
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