TNB Library
|
ポインタ型ハンドルテンプレート [詳解]
#include <TnbPointerHandle.h>
公開メンバ関数 | |
CArrayPtrHandleT (const CArrayPtrHandleT &t) | |
コピーコンストラクタ. [詳解] | |
CArrayPtrHandleT (TYP *P) | |
代入コンストラクタ. [詳解] | |
CArrayPtrHandleT (void) | |
コンストラクタ. [詳解] | |
int | GetReferCount (void) const |
[取得] 参照数取得. [詳解] | |
bool | IsNull (void) const |
[確認] NULLチェック [詳解] | |
void | Null (void) |
[設定] 開放. [詳解] | |
operator const TYP * (void) const | |
[取得] TYP取得. [詳解] | |
operator TYP * (void) | |
[取得] TYP取得. [詳解] | |
bool | operator!= (TYP * t) const |
[比較] TYP比較. [詳解] | |
TYP * | operator-> (void) |
[取得] TYP取得. [詳解] | |
const TYP * | operator-> (void) const |
[取得] TYP取得. [詳解] | |
bool | operator== (TYP * t) const |
[比較] TYP比較. [詳解] | |
TYP & | operator[] (int ind) |
[取得] TYPポインタ取得. [詳解] | |
const TYP & | operator[] (int ind) const |
[取得] TYPポインタ取得. [詳解] | |
TYP * * | ReferP (void) |
[取得] TYPのポインタ取得. [詳解] | |
TYP * const * | ReferP (void) const |
[取得] TYPのポインタ取得. [詳解] | |
int | SetReferCount (int iCount) |
[設定] 参照数設定 [詳解] | |
ポインタ型ハンドルテンプレート
この型に new で確保したポインタを渡しておくと、 「領域」を参照する本クラスががなくなり次第、 自動的に開放します。 「Javaの参照型」や「C++/CLRのハンドル型」と 同じ使い方が可能になります。 コピーオペレータを持っているので、関数の戻り値などに も使用できます。 @par <table><tr><td><pre> CArrayPtrHandleT<BYTE> foo(DWORD dwSize) { CArrayPtrHandleT<BYTE> hpBuff = new BYTE[dwSize]; DWORD dwReadBytes = 0; BOOL boRc = ::ReadFile(m_hFile,hpBuff,dwSize,&dwReadBytes,NULL); if ( ! boRc ){ hpBuff.Empty(); } return hpBuff; } </pre></td></tr></table>
TYP | 保持する型 |
TnbPointerHandle.h の 436 行目に定義があります。
CArrayPtrHandleT | ( | void | ) |
CArrayPtrHandleT | ( | TYP * | P | ) |
代入コンストラクタ.
指定されたTYPポインタを管理するインスタンスが作成されます。 この時点では、TYPポインタは新インスタンスだけが参照しています。
P | new で確保したTYPポインタ。 |
TnbPointerHandle.h の 456 行目に定義があります。
CArrayPtrHandleT | ( | const CArrayPtrHandleT< TYP > & | t | ) |
コピーコンストラクタ.
コピー元にTYPポインタがある場合、新規作成の本インスタンスでも、 そこを参照するようになります。
t | 同じ型のインスタンス。 |
TnbPointerHandle.h の 466 行目に定義があります。
|
inherited |
[取得] 参照数取得.
TYPポインタが参照されている数を知ることが出来ます。
TnbPointerHandle.h の 221 行目に定義があります。
|
inherited |
|
inherited |
[設定] 開放.
本インスタンスが管理しているTYPを開放します。
TnbPointerHandle.h の 229 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
TYP & operator[] | ( | int | ind | ) |
[取得] TYPポインタ取得.
管理しているTYPポインタを返します
ind | インデックス。 |
NUL | 管理していない |
NUL以外 | TYPポインタ |
TnbPointerHandle.h の 477 行目に定義があります。
const TYP & operator[] | ( | int | ind | ) | const |
[取得] TYPポインタ取得.
管理しているTYPポインタを返します
ind | インデックス。 |
NUL | 管理していない |
NUL以外 | TYPポインタ |
TnbPointerHandle.h の 486 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
[設定] 参照数設定
iCount | 設定する参照数 |
TnbPointerHandle.h の 209 行目に定義があります。