WORD * p1 = new WORD(3);
WORD * p2 = new WORD[3];
int sWORD = sizeof(WORD); // 2
int msp1 = _msize(p1); // 2
int msp2 = _msize(p2); // 6
cout << *p1 << endl; // 3
大家看后面的debug值就知道结果了。
WORD占2个字节
WORD * p1 = new WORD(3);动态分配2个字节,并用3初始化这2个字节的内容
WORD * p2 = new WORD[3];分配一个指针,指向3个WORD的内存空间,共计6个字节
int msp1 = _msize(p1); // 2
int msp2 = _msize(p2); // 6p1在内存占用2个字节,证实了上述结果
p2在内存占用6个字节,证实了上述结果
cout << *p1 << endl; // 3p1指向的值就是我们初始化的3
OK。。
本文深入探讨了C++中使用new关键字进行动态内存分配的方法及其与sizeof函数之间的相互作用,通过实例展示了如何计算和验证分配内存的大小。详细解释了在不同场景下动态内存分配的原理及其实现细节。
226

被折叠的 条评论
为什么被折叠?



