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