我想知道在堆中創建的對象中的內置類型是否會初始化爲零?它是由標準強制還是編譯器特定?C++堆對象的初始化
考慮下面的代碼:
#include <iostream>
using namespace std;
struct test
{
int _tab[1024];
};
int main()
{
test *p(new test);
for (int i = 0; i < 1024; i++)
{
cout << p->_tab[i] << endl;
}
delete p;
return 0;
}
運行時,它打印全部爲零。
請參閱Johannes答案http://stackoverflow.com/questions/808464/c-new-call-that-behaves-like-calloc – 2012-02-04 15:37:51