CObArray::InsertAt
配列の指定したインデックス位置に要素 (または別の配列のすべての要素) を挿入します。
void InsertAt(
INT_PTR nIndex,
CObject* newElement,
INT_PTR nCount = 1
);
void InsertAt(
INT_PTR nStartIndex,
CObArray* pNewArray
);
パラメーター
nIndex
可能性がある値より大きい整数のインデックスは GetUpperBoundによって返される。newElement
この配列に設定する必要 CObject のポインター。値 null の newElement は許可されます。nCount
この要素を挿入する必要がある回数 (1) への既定値です。nStartIndex
可能性がある値より大きい整数のインデックスは GetUpperBoundによって返される。pNewArray
この配列に追加する要素を含む別の配列。
解説
InsertAt の一つ目のバージョンは、配列の指定したインデックスに 1 個の要素 (または要素の複数のコピー) を挿入します。プロセスでは、(インデックスを大きくして) 既存の要素の上でインデックスで移動し、上位のすべての要素の上に移動します。
2 番目のバージョンは nStartIndex の位置から開始して CObArray の別のコレクションからすべての要素を挿入します。
SetAt 関数は、これに対し、1 を指定し、配列要素を再配置しません要素を置き換えます。
次の表は CObArray::InsertAtに似ている他のメンバー関数を示します。
Class |
メンバー関数 |
---|---|
void InsertAt( INT_PTR nIndex, BYTE newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CByteArray* pNewArray) ; スローします (CMemoryException*) ; |
|
void InsertAt( INT_PTR nIndex, DWORD newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CDWordArray* pNewArray) ; スローします (CMemoryException*) ; |
|
void InsertAt( INT_PTR nIndex, void* newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CPtrArray* pNewArray) ; スローします (CMemoryException*) ; |
|
void InsertAt( INT_PTR nIndex, LPCTSTR newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CStringArray* pNewArray) ; スローします (CMemoryException*) ; |
|
void InsertAt( INT_PTR nIndex, UINT newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CUIntArray* pNewArray) ; スローします (CMemoryException*) ; |
|
void InsertAt( INT_PTR nIndex, WORD newElement, int nCount=1 ); スローします (CMemoryException*) ; void InsertAt( INT_PTR nStartIndex, CWordArray* pNewArray) ; スローします (CMemoryException*) ; |
使用例
すべてのコレクションの例で使用されている CAge のクラスのリストについては、CObList::CObList を参照してください。
CObArray arr;
arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1 (will become 2).
arr.InsertAt(1, new CAge(30)); // New element 1
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("InsertAt example: ") << &arr << _T("\n");
#endif
このプログラムの結果は次のとおりです。:
InsertAt example: A CObArray with 3 elements
[0] = a CAge at $45C8 21
[1] = a CAge at $4646 30
[2] = a CAge at $4606 40
必要条件
Header: afxcoll.h