次の方法で共有


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

メンバー関数

CByteArray

void InsertAt( INT_PTR nIndex, BYTE newElement, int nCount=1 );

    スローします (CMemoryException*) ;

void InsertAt( INT_PTR nStartIndex, CByteArray* pNewArray) ;

    スローします (CMemoryException*) ;

CDWordArray

void InsertAt( INT_PTR nIndex, DWORD newElement, int nCount=1 );

    スローします (CMemoryException*) ;

void InsertAt( INT_PTR nStartIndex, CDWordArray* pNewArray) ;

    スローします (CMemoryException*) ;

CPtrArray

void InsertAt( INT_PTR nIndex, void* newElement, int nCount=1 );

    スローします (CMemoryException*) ;

void InsertAt( INT_PTR nStartIndex, CPtrArray* pNewArray) ;

    スローします (CMemoryException*) ;

CStringArray

void InsertAt( INT_PTR nIndex, LPCTSTR newElement, int nCount=1 );

    スローします (CMemoryException*) ;

void InsertAt( INT_PTR nStartIndex, CStringArray* pNewArray) ;

    スローします (CMemoryException*) ;

CUIntArray

void InsertAt( INT_PTR nIndex, UINT newElement, int nCount=1 );

    スローします (CMemoryException*) ;

void InsertAt( INT_PTR nStartIndex, CUIntArray* pNewArray) ;

    スローします (CMemoryException*) ;

CWordArray

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

参照

関連項目

CObArray クラス

階層図

CObArray::SetAt

CObArray::RemoveAt