CSimpleArray クラス

このクラスは、単純な配列を管理するためのメソッドを提供します。

構文

template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray

パラメーター

T
配列に格納するデータの型。

TEqual
T の要素の等値テストを定義する特性オブジェクト。

メンバー

パブリック コンストラクター

名前 説明
CSimpleArray::CSimpleArray 単純な配列のコンストラクター。
CSimpleArray::~CSimpleArray 単純な配列のデストラクター。

パブリック メソッド

名前 説明
CSimpleArray::Add 配列に新しい要素を追加します。
CSimpleArray::Find 配列内の要素を検索します。
CSimpleArray::GetData 配列に格納されているデータへのポインターを返します。
CSimpleArray::GetSize 配列に格納されている要素の数を返します。
CSimpleArray::Remove 特定の要素を配列から削除します。
CSimpleArray::RemoveAll セットからすべての要素を削除します。
CSimpleArray::RemoveAt 指定された要素を配列から削除します。
CSimpleArray::SetAtIndex 指定された要素を配列に設定します。

パブリック演算子

名前 説明
CSimpleArray::operator[] 配列から要素を取得します。
CSimpleArray::operator = 代入演算子。

解説

CSimpleArray により、任意の型 T の単純な配列を作成および管理するためのメソッドが提供されます。

パラメーター TEqual により、型 T の 2 つの要素の等値関数を定義する手段が提供されます。 CSimpleArrayEqualHelper に似たクラスを作成することで、任意の配列の等値テストの動作を変更できます。 たとえば、ポインターの配列を処理する場合は、ポインターが参照する値に応じて等値を定義すると便利な場合があります。 既定の実装では、operator=() が使用されます。

CSimpleArrayCSimpleMap の両方とも、少数の要素向けに設計されています。 配列に多数の要素が含まれる場合は、CAtlArrayCAtlMap を使用する必要があります。

必要条件

ヘッダー: atlsimpcoll.h

// Create an array of integers
CSimpleArray<int> iArray;

// Create an array of char pointers
// and use a new equality function
CSimpleArray<char *, MyEqualityEqualHelper<char *> > cMyArray;   

CSimpleArray::Add

配列に新しい要素を追加します。

BOOL Add(const T& t);

パラメーター

t
配列に追加する要素。

戻り値

要素が配列に正常に追加された場合は TRUE、それ以外の場合は FALSE を返します。

// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
   iMyArray.Add(i);  

CSimpleArray::CSimpleArray

配列オブジェクトのコンストラクター。

CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();

パラメーター

src
既存の CSimpleArray オブジェクトです。

解説

データ メンバーを初期化し、新しい空の CSimpleArray オブジェクトを作成するか、既存の CSimpleArray オブジェクトのコピーを作成します。

CSimpleArray::~CSimpleArray

デストラクター。

~CSimpleArray();

解説

割り当てられているすべてのリソースを解放します。

CSimpleArray::Find

配列内の要素を検索します。

int Find(const T& t) const;

パラメーター

t
検索対象の要素。

戻り値

見つかった要素のインデックスを返します。要素が見つからない場合は -1 を返します。

// Create an array of floats and search for a particular element

CSimpleArray<float> fMyArray;

for (int i = 0; i < 10; i++)
   fMyArray.Add((float)i * 100);

int e = fMyArray.Find(200);
if (e == -1)
   _tprintf_s(_T("Could not find element\n"));
else
   _tprintf_s(_T("Found the element at location %d\n"), e);   

CSimpleArray::GetData

配列に格納されているデータへのポインターを返します。

T* GetData() const;

戻り値

配列内のデータへのポインターを返します。

CSimpleArray::GetSize

配列に格納されている要素の数を返します。

int GetSize() const;

戻り値

配列に格納されている要素の数を返します。

CSimpleArray::operator []

配列から要素を取得します。

T& operator[](int nindex);

パラメーター

Nindex
要素のインデックス。

戻り値

nIndexによって参照される配列の要素を返します。

// Create an array and display its contents
 CSimpleArray<int> iMySampleArray;

 for (int i = 0; i < 10; i++)
    iMySampleArray.Add(i);

 for (int i = 0; i < iMySampleArray.GetSize(); i++)
    _tprintf_s(_T("Array index %d contains %d\n"), i, iMySampleArray[i]);

CSimpleArray::operator =

代入演算子。

CSimpleArray<T, TEqual>
& operator=(
    const CSimpleArray<T, TEqual>& src);

パラメーター

src
コピーする配列。

戻り値

更新された CSimpleArray オブジェクトへのポインターを返します。

解説

src によって参照される CSimpleArray オブジェクトのすべての要素を現在の配列オブジェクトにコピーし、既存のすべてのデータを置き換えます。

// Create an array of chars and copy it to a second array
CSimpleArray<char> cMyArray1;
cMyArray1.Add('a');
CSimpleArray<char> cMyArray2;
cMyArray2 = cMyArray1;
ATLASSERT(cMyArray2[0] == 'a');   

CSimpleArray::Remove

特定の要素を配列から削除します。

BOOL Remove(const T& t);

パラメーター

t
配列から削除する要素のインデックス。

戻り値

要素が見つかって削除された場合は TRUE、それ以外の場合は FALSE を返します。

解説

要素が削除されると、配列内の残りの要素は、空の領域を埋めるために番号が付け直されます。

CSimpleArray::RemoveAll

セットからすべての要素を削除します。

void RemoveAll();

解説

配列に現在格納されているすべての要素を削除します。

CSimpleArray::RemoveAt

指定された要素を配列から削除します。

BOOL RemoveAtint nIndex);

パラメーター

Nindex
削除する要素を指すインデックス。

戻り値

要素が削除された場合は TRUE、インデックスが無効な場合は FALSE を返します。

解説

要素が削除されると、配列内の残りの要素は、空の領域を埋めるために番号が付け直されます。

CSimpleArray::SetAtIndex

指定された要素を配列に設定します。

BOOL SetAtIndex(
    int nIndex,
    const T& t);

パラメーター

Nindex
変更する要素のインデックス。

t
指定された要素に代入する値。

戻り値

成功した場合は TRUE、インデックスが無効な場合は FALSE を返します。

関連項目

クラスの概要