在线搜索
|
有问题找看雪
神奇的 new
标 题:
神奇的 new
作 者:
cntrump
时 间:
2011-03-08 23:19:54
链 接:
http://bbs.pediy.com/showthread.php?t=130545
今天偶然发现能这样用,求解释。
这种用法很明显会造成内存泄漏,有没有更好的方法?
引用:
#include
<
windows
.
h
>
int
_tmain
(
int
argc
,
_TCHAR
*
argv
[])
{
const struct
{
char
*
const
pszID
;
int
*
pIndex
;
}
table
[] = {
{
"a"
,
new int
},
{
"b"
,
new int
},
{
"c"
,
new int
},
{
"d"
,
new int
}
}, *
p
;
long
table_count
=
sizeof
(
table
)/
sizeof
(
table
[
0
]);
p
=
table
;
for
(
long
index
=
0
;
index
<
table_count
; ++
index
, ++
p
)
{
if
(
0
==
lstrcmpiA
(
"b"
,
p
->
pszID
))
{
*
p
->
pIndex
=
index
;
printf
(
"%d\n"
, *
p
->
pIndex
);
}
}
system
(
"pause"
);
return
0
;
}