mFrame
載入中...
搜尋中...
無符合項目
ufm::util::Array< E > 結構 樣版 參考文件abstract

通用陣列介面,提供基本的陣列操作功能。 更多...

#include <Array.h>

公開方法(Public Methods)

virtual int length (void) const override
 取得陣列長度
 
virtual int indexOf (E &element) const override
 搜尋元素位置
 
virtual E & get (int index) const override
 取得指定索引的元素
 
virtual bool set (E const &e, int index) override
 設置指定索引的元素值
 
virtual int elementSize (void) const override
 取得元素大小
 

詳細描述

template<typename E = void*>
struct ufm::util::Array< E >

通用陣列介面,提供基本的陣列操作功能。

樣版參數
E陣列中儲存的元素類型,預設為 void*

Array 是一個泛型介面,定義了各種陣列實作的基本操作標準。 提供元素存取、搜尋、修改等基本陣列操作能力。所有陣列相關的類別 都應該實作這個介面以確保操作的一致性。

使用範例:
// 定義整數陣列實作類別
class IntArray : public ufm::util::Array<int> {
private:
int* data;
int size;
public:
IntArray(int capacity) : size(capacity) {
data = new int[capacity];
}
~IntArray() {
delete[] data;
}
int length(void) const override {
return size;
}
int indexOf(int& element) const override {
for (int i = 0; i < size; ++i) {
if (data[i] == element) {
return i;
}
}
return -1;
}
int& get(int index) const override {
return data[index]; // 注意:實際實作應加入邊界檢查
}
bool set(int const& e, int index) override {
if (index >= 0 && index < size) {
data[index] = e;
return true;
}
return false;
}
int elementSize(void) const override {
return sizeof(int);
}
};
// 使用陣列
IntArray array(10);
// 設定元素值
for (int i = 0; i < array.length(); ++i) {
array.set(i * 2, i); // 設定為偶數序列
}
// 搜尋元素
int target = 8;
int index = array.indexOf(target);
if (index != -1) {
std::cout << "找到元素 " << target << " 在索引 " << index << std::endl;
}
// 存取元素
int value = array.get(3); // 取得索引 3 的元素
// 檢查元素大小
int elemSize = array.elementSize(); // 應該返回 sizeof(int)
通用陣列介面,提供基本的陣列操作功能。
Definition Array.h:114
參閱
ufm::util::Container
ufm::util::Collection

函式成員說明文件

◆ elementSize()

template<typename E = void*>
virtual int ufm::util::Array< E >::elementSize ( void ) const
pure virtual

取得元素大小

返回陣列中單個元素的尺寸大小(以位元組為單位)。

傳回值
int 元素的尺寸大小

實作於 ufm::util::PArray.

◆ get()

template<typename E = void*>
virtual E & ufm::util::Array< E >::get ( int index) const
pure virtual

取得指定索引的元素

返回陣列中指定位置的元素的參考。

參數
index要獲取元素的索引位置
傳回值
E& 指定索引的元素參考
如果索引超出陣列範圍,具體行為由實作類定義

實作於 ufm::util::PArray.

◆ indexOf()

template<typename E = void*>
virtual int ufm::util::Array< E >::indexOf ( E & element) const
pure virtual

搜尋元素位置

返回此陣列中指定元素的第一次出現的索引,如果此陣列不包含該元素,則返回-1。

參數
element要搜尋的元素
傳回值
int 此陣列中指定元素的首次出現的索引,如果不存在則為-1

實作於 ufm::util::PArray.

◆ length()

template<typename E = void*>
virtual int ufm::util::Array< E >::length ( void ) const
pure virtual

取得陣列長度

返回此陣列的元素數量。

傳回值
int 陣列中元素的數量

實作於 ufm::util::PArray.

◆ set()

template<typename E = void*>
virtual bool ufm::util::Array< E >::set ( E const & e,
int index )
pure virtual

設置指定索引的元素值

將陣列中指定位置的元素值設置為新值。

參數
e新的元素值
index要設置元素的索引位置
傳回值
bool 操作是否成功
如果索引超出陣列範圍,通常會返回 false

實作於 ufm::util::PArray.


此結構(structure) 文件是由下列檔案中產生: