Mfc-carray
MFC-CArray
- 配列インデックスは常に位置0から始まります。
- 現在の境界を超えて要素を追加するときに、上限を修正するか、配列を展開できるようにするかを決定できます。 *一部の要素がnullであっても、メモリは上限に連続して割り当てられます。
____これはCArrayクラスのメソッドのリストです。
Sr.No. | Name & Description |
---|---|
1 |
配列の最後に要素を追加します。必要に応じて配列を拡大します。 |
2 |
Append 別の配列を配列に追加します。必要に応じて配列を拡大します |
3 |
Copy 別の配列を配列にコピーします。必要に応じて配列を拡大します。 |
4 |
ElementAt 配列内の要素ポインターへの一時的な参照を返します。 |
5 |
FreeExtra 現在の上限を超える未使用のメモリをすべて解放します。 |
6 |
GetAt 現在の上限を超える未使用のメモリをすべて解放します。 |
7 |
GetCount この配列内の要素の数を取得します。 |
8 |
GetData 配列内の要素へのアクセスを許可します。 NULL にすることができます。 |
9 |
GetSize この配列内の要素の数を取得します。 |
10 |
GetUpperBound 最大の有効なインデックスを返します。 |
11 |
InsertAt 指定されたインデックスに要素(または別の配列のすべての要素)を挿入します。 |
12 |
IsEmpty 配列が空かどうかを判別します。 |
13 |
RemoveAll この配列からすべての要素を削除します。 |
14 |
RemoveAt 特定のインデックスの要素を削除します。 |
15 |
SetAt 特定のインデックスの値を設定します。配列は拡大できません。 |
16 |
SetAtGrow 特定のインデックスの値を設定します。必要に応じて配列を拡大します。 |
17 |
SetSize この配列に含まれる要素の数を設定します。 |
以下は、CArrayオブジェクトのさまざまな操作です-
CArrayオブジェクトを作成
CArray値またはオブジェクトのコレクションを作成するには、まずコレクションの値のタイプを決定する必要があります。 int、CString、doubleなど、既存のプリミティブデータ型のいずれかを使用できます。 以下に示すように。
アイテムを追加
- アイテムを追加するには、CArray
- Add()関数を使用できます。 配列の最後にアイテムを追加します。 OnInitDialog()では、CArrayオブジェクトが作成され、次のコードに示すように3つの名前が追加されます。
アイテムを取得する
- アイテムを取得するには、CArray
- GetAt()関数を使用できます。 この関数は、配列のインデックスとして1つの整数パラメーターを取ります。
- ステップ1 *-すべての名前を取得する簡単な例を見てみましょう。
- *ステップ2 *-CMFCCArrayDlg
- OnInitDialog()の完全な実装です。
- ステップ3 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。
中間にアイテムを追加
配列の中央にアイテムを追加するには、CArray ::。InsertAt()関数を使用できます。 これには2つのパラメータが必要です。1つ目はインデックスで、2つ目は値です。
次のコードに示すように、インデックス1に新しいアイテムを挿入しましょう。
上記のコードをコンパイルして実行すると、次の出力が表示されます。 これで、2番目のインデックスとしてAllan ddedという名前が表示されます。
アイテムの値を更新
配列の中央の項目を更新するには、CArray ::。SetAt()関数を使用できます。 これには2つのパラメータが必要です。1つ目はインデックスで、2つ目は値です。
次のコードに示すように、配列の3番目の要素を更新しましょう。
上記のコードをコンパイルして実行すると、次の出力が表示されます。 これで、3番目の要素の値が更新されていることがわかります。
配列をコピー
- 配列全体を別のCArrayオブジェクトにコピーするには、CArray
Copy()関数を使用できます。
これで、2 ^ nd ^配列から要素を取得したことがわかります。コピー関数を使用したため、出力は同じです。
アイテムを削除
- 特定の項目を削除するには、CArray
- RemoveAt()関数を使用できます。 リストからすべての要素を削除するには、CArray :: RemoveAll()関数を使用できます。
配列から2番目の要素を削除しましょう。
上記のコードをコンパイルして実行すると、次の出力が表示されます。 これで、Allanという名前が配列の一部ではなくなっていることがわかります。