有点复杂的问题,估计需要高手给解决以下了.哈哈.
char buffer[256];
double *d;
d = new (buffer) double [3];
for(int i =0; i < 3; i++)
{
d[i] = i * 2.0;
cout << (double) (*(buffer + i * sizeof(double))) << endl;
输出 0 0 0
cout<<*((double *)(buffer + i * sizeof(double)))<<endl; 输出 0 2 4
麻烦大虾给分析以下原因,这里涉及的问题比较多,
比如在栈中动态分配内存,当然这个好处也是有的.
还有关于double在内存中的存储方式也涉及到了,总之希望高手给出比较详细的分析过程.先说3Q了!