关于“定位new表达式”的一个问题,在线等!

njzsj 2004-03-09 10:22:59
程序代码:

#include <iostream>
#include <string>
#include <new>

using namespace std;
class Data
{
public:
int ival;
public:
Data(int value = 0):ival(value){}
};

//#define min(a,b) ((a) < (b) ? (a):(b))
void main(int argc,char **argv)
{
char *arena = new char[sizeof(Data)*3];
Data *ptr = new (arena) Data;
delete[] arena; //这边已经释放了资源,为什么下面还能重新在arena指向的内存重新创建对象呢?
ptr = new (arena) Data(6);
}

我是在vc里面编译的,谢谢啦!
...全文
67 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧