CAutoVectorPtr 類別

這個類別代表使用向量 new 和 delete 運算子的智慧型指標物件。

重要

這個類別及其成員不能用於在Windows 執行階段中執行的應用程式。

語法

template<typename T>
class CAutoVectorPtr

參數

T
指標類型。

成員

公用建構函式

名稱 描述
CAutoVectorPtr::CAutoVectorPtr 建構函式。
CAutoVectorPtr::~CAutoVectorPtr 解構函式。

公用方法

名稱 描述
CAutoVectorPtr::Allocate 呼叫這個方法,以配置 所指向 CAutoVectorPtr 之 物件陣列所需的記憶體。
CAutoVectorPtr::Attach 呼叫此方法以取得現有指標的擁有權。
CAutoVectorPtr::D etach 呼叫此方法以釋放指標的擁有權。
CAutoVectorPtr::Free 呼叫這個方法,以刪除 所 CAutoVectorPtr 指向的物件。

公用運算子

名稱 描述
CAutoVectorPtr::operator T * 轉換運算子。
CAutoVectorPtr::operator = 指派運算子。

公用資料成員

名稱 描述
CAutoVectorPtr::m_p 指標資料成員變數。

備註

這個類別提供建立和管理智慧型指標的方法,可藉由在超出範圍時自動釋放資源來協助防止記憶體流失。 CAutoVectorPtrCAutoPtr 類似,唯一的差異是 CAutoVectorPtr 使用 vector new[]vector delete[] 來配置和釋放記憶體,而不是 C++ newdelete 運算子。 如果需要 的集合類別 CAutoVectorPtr ,請參閱 CAutoVectorPtrElementTraits

如需使用智慧型指標類別的範例,請參閱 CAutoPtr

需求

標頭: atlbase.h

CAutoVectorPtr::Allocate

呼叫這個方法,以配置 所指向 CAutoVectorPtr 之 物件陣列所需的記憶體。

bool Allocate(size_t nElements) throw();

參數

nElements
陣列中的項目數。

傳回值

如果成功配置記憶體,則傳回 true,如果失敗時為 false。

備註

在偵錯組建中,如果 CAutoVectorPtr::m_p 成員變數目前指向現有的值,就會發生判斷提示失敗;也就是說,它不等於 Null。

CAutoVectorPtr::Attach

呼叫此方法以取得現有指標的擁有權。

void Attach(T* p) throw();

參數

p
物件 CAutoVectorPtr 會取得這個指標的擁有權。

備註

CAutoVectorPtr當物件取得指標的擁有權時,它會在超出範圍時自動刪除指標和任何已配置的資料。 如果 呼叫 CAutoVectorPtr::D etach ,程式設計人員會再次負責釋放任何已配置的資源。

在偵錯組建中,如果 CAutoVectorPtr::m_p 成員變數目前指向現有的值,就會發生判斷提示失敗;也就是說,它不等於 Null。

CAutoVectorPtr::CAutoVectorPtr

建構函式。

CAutoVectorPtr() throw();
explicit CAutoVectorPtr(T* p) throw();
CAutoVectorPtr(CAutoVectorPtr<T>& p) throw();

參數

p
現有的指標。

備註

CAutoVectorPtr物件可以使用現有的指標來建立,在此情況下,它會傳輸指標的擁有權。

CAutoVectorPtr::~CAutoVectorPtr

解構函式。

~CAutoVectorPtr() throw();

備註

釋放任何已配置的資源。 呼叫 CAutoVectorPtr::Free

CAutoVectorPtr::D etach

呼叫此方法以釋放指標的擁有權。

T* Detach() throw();

傳回值

傳回指標的複本。

備註

釋放指標的擁有權、將 CAutoVectorPtr::m_p 成員變數設定為 Null,並傳回指標的複本。 呼叫 Detach 之後,程式設計人員可以釋放物件先前可能負責的任何已配置資源 CAutoVectorPtr

CAutoVectorPtr::Free

呼叫這個方法,以刪除 所 CAutoVectorPtr 指向的物件。

void Free() throw();

備註

CAutoVectorPtr 指向的物件會釋出,而 CAutoVectorPtr::m_p 成員變數會設定為 Null。

CAutoVectorPtr::m_p

指標資料成員變數。

T* m_p;

備註

這個成員變數會保存指標資訊。

CAutoVectorPtr::operator =

指派運算子。

CAutoVectorPtr<T>& operator= (CAutoVectorPtr<T>& p) throw();

參數

p
指標。

傳回值

傳回 CAutoVectorPtr < T > 參考。

備註

指派運算子會 CAutoVectorPtr 中斷物件與任何目前指標的卸離,並將新的指標 p 附加在其位置。

CAutoVectorPtr::operator T *

轉換運算子。

operator T*() const throw();

備註

傳回類別範本中定義之物件資料類型的指標。

另請參閱

CAutoPtr 類別
類別概觀