作者MacacaXDrz (馬卡卡)
看板EE_DSnP
標題[問題] 關於new跟new[]
時間Sat Nov 21 17:07:02 2009
記得老師上課說如果用new[]來宣告array的時候,
array的大小要加上一塊size_t的大小,
我用下面的code在我的電腦上跑
#include<iostream>
#include<stdlib.h>
using namespace std ;
class test
{
public:
int a , b ,c ;
char C ;
static void* operator new[]( size_t t )
{
cout << t << endl ;
return (test*)malloc(t) ;
}
} ;
int main()
{
cout << sizeof( size_t ) << endl ;
test *t = new test[10] ;
}
跑出的結果卻是
4
160
可是應該要是160 + 4 = 164不是嗎@@?
百思不得其解|||,
謝謝大家的回答m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.62.16
1F:推 yclanner:我想應該是2412篇討論的問題 11/21 18:15
2F:→ MacacaXDrz:感謝樓上!!我一直只在意我是不是new[],而忘記我有沒 11/21 18:23
3F:→ MacacaXDrz:有自訂destructor,謝謝你!! 11/21 18:23