次の方法で共有


CArray::InsertAt

更新 : 2007 年 11 月

InsertAt の最初の構文は、1 つの要素 (または、その要素の複数のコピー) を配列の指定された位置に挿入します。

void InsertAt(
   INT_PTR nIndex,
      ARG_TYPE newElement,
   INT_PTR nCount = 1 
);
void InsertAt(
   INT_PTR nStartIndex,
   CArray* pNewArray 
);

パラメータ

  • nIndex
    整数インデックス。GetUpperBound が返す値より大きい値も指定できます。

  • ARG_TYPE
    配列内の要素の型を指定するテンプレート パラメータ。

  • newElement
    配列に格納する要素。

  • nCount
    要素を挿入する回数 (既定では 1)。

  • nStartIndex
    整数インデックス。GetUpperBoundが返す値より大きくてもかまいません。

  • pNewArray
    配列に追加する要素を持つ別の配列。

解説

挿入処理では、そのインデックス位置にある要素を (インデックスを増加することで) シフト アップし、さらにその位置以降にあるすべての要素を順次シフト アップします。

2 つ目の構文は、他の CArray コレクションからすべての要素を nStartIndex で指定した位置から挿入します。

対照的に、SetAt 関数は、指定されている配列要素を置き換えるだけで、要素のシフトは行いません。

使用例

// example for CArray::InsertAt

CArray<CPoint,CPoint> ptArray;

ptArray.Add(CPoint(10,20));   // Element 0
ptArray.Add(CPoint(30,40));   // Element 1 (will become element 2)
ptArray.InsertAt(1, CPoint(50,60));   // New element 1      

必要条件

ヘッダー : afxtempl.h

参照

参照

CArray クラス

階層図

CArray::GetUpperBound

CArray::SetAt

CArray::RemoveAt

その他の技術情報

CArray のメンバ