Solution46
NewDel.h ファイル

生成消滅演算子オーバーライド関数ヘッダファイル [詳解]

被依存関係図:

[ソースコード]

関数

void * operator new (size_t uSize)
 生成演算子オーバロード関数 [詳解]
 
void * operator new[] (size_t uSize)
 配列生成演算子オーバロード関数 [詳解]
 
void operator delete (void *pAddr)
 消滅演算子オーバロード関数 [詳解]
 
void operator delete[] (void *pAddr)
 配列消滅演算子オーバロード関数 [詳解]
 

詳解

生成消滅演算子オーバーライド関数ヘッダファイル

生成消滅演算子オーバーライド関数ヘッダファイルです。

Id
NewDel.h 245 2019-03-20 15:03:41Z admin
Date
2019-03-21 00:03:41 +0900 (2019/03/21 (木))
Author
admin
注意
なし

NewDel.h に定義があります。

関数詳解

void* operator new ( size_t  uSize)

生成演算子オーバロード関数

生成演算子オーバロード関数です。

引数
[in]uSizeメモリサイズ
戻り値
メモリアドレス
注意
なし

NewDel.hpp24 行目に定義があります。

参照先 NewDelOperatorNew.

24  {
25  // 処理ブロック
26  void* result = nullptr;
27  do {
28  // メモリを確保する
29  void* pAddr = ::malloc( uSize );
30  if ( nullptr == pAddr ) {
31  // 失敗!
32  break;
33  }
34 
35  // 成功!
36  result = pAddr;
37 
38  // 生成消滅演算子ライブラリクラスに通知する
39  NewDelOperatorNew( pAddr, uSize, __FUNCTIONW__ );
40  } while ( false );
41 
42  // 実行結果を返す
43  return result;
44 }
#define NewDelOperatorNew(...)
生成演算子実行通知マクロ
Definition: LibNewDel.h:24
void* operator new[] ( size_t  uSize)

配列生成演算子オーバロード関数

配列生成演算子オーバロード関数です。

引数
[in]uSizeメモリサイズ
戻り値
メモリアドレス
注意
なし

NewDel.hpp48 行目に定義があります。

参照先 NewDelOperatorNew.

48  {
49  // 処理ブロック
50  void* result = nullptr;
51  do {
52  // メモリを確保する
53  void* pAddr = ::malloc( uSize );
54  if ( nullptr == pAddr ) {
55  // 失敗!
56  break;
57  }
58 
59  // 成功!
60  result = pAddr;
61 
62  // 生成消滅演算子ライブラリクラスに通知する
63  NewDelOperatorNew( pAddr, uSize, __FUNCTIONW__ );
64  } while ( false );
65 
66  // 実行結果を返す
67  return result;
68 }
#define NewDelOperatorNew(...)
生成演算子実行通知マクロ
Definition: LibNewDel.h:24
void operator delete ( void *  pAddr)

消滅演算子オーバロード関数

消滅演算子オーバロード関数です。

引数
[in]pAddrメモリアドレス
戻り値
なし
注意
なし

NewDel.hpp72 行目に定義があります。

参照先 NewDelOperatorDelete.

72  {
73  // 処理ブロック
74  do {
75  // メモリアドレスを調べる
76  if ( nullptr == pAddr ) {
77  // 失敗!
78  break;
79  }
80 
81  // 生成メモリサイズを取得する
82  size_t uSize = ::_msize( pAddr );
83 
84  // メモリを解放する
85  ::free( pAddr );
86 
87  // 生成消滅演算子ライブラリクラスに通知する
88  NewDelOperatorDelete( pAddr, uSize, __FUNCTIONW__ );
89  } while ( false );
90 }
#define NewDelOperatorDelete(...)
消滅演算子実行通知マクロ
Definition: LibNewDel.h:25
void operator delete[] ( void *  pAddr)

配列消滅演算子オーバロード関数

配列消滅演算子オーバロード関数です。

引数
[in]pAddrメモリアドレス
戻り値
なし
注意
なし

NewDel.hpp94 行目に定義があります。

参照先 NewDelOperatorDelete.

94  {
95  // 処理ブロック
96  do {
97  // メモリアドレスを調べる
98  if ( nullptr == pAddr ) {
99  // 失敗!
100  break;
101  }
102 
103  // 生成メモリサイズを取得する
104  size_t uSize = ::_msize( pAddr );
105 
106  // メモリを解放する
107  ::free( pAddr );
108 
109  // 生成消滅演算子ライブラリクラスに通知する
110  NewDelOperatorDelete( pAddr, uSize, __FUNCTIONW__ );
111  } while ( false );
112 }
#define NewDelOperatorDelete(...)
消滅演算子実行通知マクロ
Definition: LibNewDel.h:25