CHeapPtr クラス
ヒープ ポインターを管理するためのスマート ポインター クラス。
重要
このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。
構文
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
パラメーター
T
ヒープに格納されるオブジェクトの種類。
Allocator
使用するメモリ割り当てクラス。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CHeapPtr::CHeapPtr | コンストラクター。 |
パブリック メソッド
名前 | 説明 |
---|---|
CHeapPtr::Allocate | オブジェクトを格納するためにヒープでメモリを割り当てるには、このメソッドを呼び出します。 |
CHeapPtr::Reallocate | ヒープのメモリを割り当て直すには、このメソッドを呼び出します。 |
パブリック演算子
名前 | 説明 |
---|---|
CHeapPtr::operator = | 代入演算子。 |
解説
CHeapPtr
は CHeapPtrBase から派生し、既定では (CCRTAllocator 内の) CRT ルーチンを使用してメモリの割り当てと解放を行います。 CHeapPtrList クラスは、ヒープ ポインターのリストを構築するために使用できます。 COM メモリ割り当てルーチンを使用する「CComHeapPtr」も参照してください。
継承階層
CHeapPtr
要件
ヘッダー: atlcore.h
CHeapPtr::Allocate
オブジェクトを格納するためにヒープでメモリを割り当てるには、このメソッドを呼び出します。
bool Allocate(size_t nElements = 1) throw();
パラメーター
nElements
割り当てるメモリの量を計算するために使用する要素の数。 既定値は 1です。
戻り値
メモリが正常に割り当てられた場合は true を返し、失敗した場合は false を返します。
解説
アロケーター ルーチンは、コンストラクターで定義されている型の nElement オブジェクトを格納するために、ヒープに十分なメモリを確保するために使用されます。
例
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
CHeapPtr::CHeapPtr
コンストラクター。
CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();
パラメーター
P
既存のヒープ ポインターまたは CHeapPtr
。
解説
必要に応じて、既存のポインターまたは CHeapPtr
オブジェクトを使用してヒープ ポインターを作成できます。 作成する場合、新しい CHeapPtr
オブジェクトは新しいポインターとリソースの管理を担います。
例
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
CHeapPtr::operator =
代入演算子。
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
パラメーター
P
既存の CHeapPtr
オブジェクトです。
戻り値
更新された CHeapPtr
への参照を返します。
例
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
// Create a second heap pointer
// and assign it to the first pointer.
CHeapPtr <int> myHP2;
myHP2 = myHP;
CHeapPtr::Reallocate
ヒープのメモリを割り当て直すには、このメソッドを呼び出します。
bool Reallocate(size_t nElements) throw();
パラメーター
nElements
割り当てるメモリの量を計算するために使用する要素の新しい数。
戻り値
メモリが正常に割り当てられた場合は true を返し、失敗した場合は false を返します。
例
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
// Resize the allocated memory for 20 integers
myHP.Reallocate(20);