读书人

关于布局new 操作符的有关问题。希望帮

发布时间: 2013-09-29 11:07:08 作者: rapoo

关于布局new 操作符的问题。希望帮帮忙。谢谢
const int buf=512;
const int n=5;
char buff[buf];
...........
int main()
{
.........
double*pd1;
pd1=new(buff) double[n];
int i;
for(i=0; i<n;i++)
{
pd1[i]=1+2*i;
}

for(i=0;i<n;i++)
cout<<pd1[i]<<endl;.//这样子输出可以。
}

我的理解是这样子的。pd1=new(buff) double[n]在512容量的 buff[512]分配空间,也就是说数据实际上是放到了buff数组里。
可是问题是我输出数组怎么调用不出数据来。?

各位同仁,如果我理解错误,希望能简单明了的举实例的帮忙说一下。这里我卡住了。
分数不多,太穷,不是我小气。就这都是积攒了几天的分数,希望能一次解决这个问题。
在这里先谢谢了。


[解决办法]


#include <stdio.h>
#include <iostream>
using std::cout;
using std::endl;
#define n 5
int main()
{
double*pd1;
pd1=new double[n];
int i;
for(i=0; i<n; i++)
{
pd1[i]=1+2*i;
}

for(i=0; i<n; i++)
cout<<pd1[i]<<endl;
return 0;
}

不知道楼主是要干啥,new后面跟的是类型
pd1=new(buff) double[n];这个用法不对吧

读书人网 >C++

热点推荐