FreeBASIC マニュアルのトップに戻る

FreeBASIC OpDeleteOverload

目次演算子メモリ演算子Operator Delete Overload←オリジナル・サイト

演算子 Delete 多重定義 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


UDT(User Defined Type ユーザ定義型)に適用するときに、演算子 Delete 命令文 によって提供される、多重定義メモリ割り当て解除プロセス部分へのメンバー演算子。

構文:
declare operator delete ( buf as any ptr )
declare operator delete[] ( buf as any ptr )

パラメータ:
buf
New Overload 演算子または New[] Overload 演算子(New Overload 演算子の配列バージョン)によって割り当てられた、メモリへのポインタ。

記述:
メンバー演算子 Delete Overload は、UDT(User Defined Type)に適用するとき、Delete Statement 演算子によって提供されるメモリ割り当て解除プロセス部分を、多重定義します。
したがって、ユーザーは、独自のメモリー割り当て解除プロセス部分を定義できます。
しかしその前に、Delete Statement演算子によって提供される UDT インスタンス破壊処理部分は、変更されません。

Delete[] Overload 演算子は、Delete Overload 演算子の配列バージョンであり、UDT(User Defined Type)に適用するときに、Delete[] Statement 演算子によって提供される、メモリ割り当て解除プロセスを、多重定義します。

Delete Overload 演算子で解放されたメモリーは、また、New Overload 演算子を定義することによって割り当てられていなければなりません。
Delete[] Overload 演算子で解放されたメモリは、また、New[] Overload 演算子(New Overload 演算子の配列バージョン)で定義することによって割り当てられている必要があります。
異なるバージョンの演算子を混在させることはできません。

メンバー演算子 Delete Overload、および Delete[] Overload は、明示的に宣言されていなくても、常に静的です。(static キーワードは不要ですが、使うことができます。)
したがって、暗黙の This インスタンス引数が、渡されることはありません。(インスタンスはすでに破棄されているためです。)

例:
New Overload 演算子の例を参照してください。

方言差:
QBからの違い:
参照:
メモリ演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2018-09-14 06:53:52
日本語翻訳:WATANABE Makoto、原文著作者:fxm

ホームページのトップに戻る

表示-非営利-継承