关于布局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];这个用法不对吧