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 | 指標數據成員變數。 |
備註
這個類別提供建立和管理智慧型手機的方法,可藉由在超出範圍時自動釋放資源來協助防止記憶體流失。 CAutoVectorPtr
與 CAutoPtr
類似,唯一的差異在於 CAutoVectorPtr
使用 vector new[]
和 vector delete[]
來配置和釋放記憶體,而不是C++ new
和 delete
運算符。 如果需要 的集合類別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();
備註
傳回類別範本中定義之對象數據類型的指標。