ポインタ引数が参照型で無い限りSAFE_DELETE()などしても元のポインタはNULL初期化されてませんのでご注意を。
main.cpp
#define SAFE_DELETE(x) if (x) { delete (x); (x) = NULL; }
void foo(int* a)
{
SAFE_DELETE(a); // NULL初期化されてるのは引数変数
}
void main()
{
int* a = new int;
foo(a);
}
Go to list of users who liked
More than 5 years have passed since last update.
ポインタ引数が参照型で無い限りSAFE_DELETE()などしても元のポインタはNULL初期化されてませんのでご注意を。
#define SAFE_DELETE(x) if (x) { delete (x); (x) = NULL; }
void foo(int* a)
{
SAFE_DELETE(a); // NULL初期化されてるのは引数変数
}
void main()
{
int* a = new int;
foo(a);
}
Register as a new user and use Qiita more conveniently
Go to list of users who liked