共用方式為


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兩個項目定義相等函式的方法。 藉由建立類似 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 物件的指標。

備註

將所有專案從 CSimpleArray src參考的物件複製到目前的數位物件,並取代所有現有的數據。

範例

// 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 RemoveAt(int nIndex);

參數

nIndex
指向要移除之元素的索引。

傳回值

如果移除專案,則會傳回 TRUE;如果索引無效,則傳回 FALSE。

備註

拿掉專案時,會重新編號陣列中的其餘元素,以填滿空白空間。

CSimpleArray::SetAtIndex

在陣列設定指定的專案。

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

參數

nIndex
要變更之專案的索引。

t
要指派給指定項目的值。

傳回值

如果成功,則傳回 TRUE;如果索引無效,則傳回 FALSE。

另請參閱

類別概觀