【发布时间】:2014-03-23 02:06:24
【问题描述】:
我正在尝试将 double * 转换为 complex* 。 我只有一个 2x2 矩阵 D (double) 的示例,我想将其转换为复数 (C):
typedef complex<double> dcmplx;
int main() {
dcmplx *C;
double *D;
int N=2;
D=new double[N*N];
C=new dcmplx[N*N];
*C=static_cast<dcmplx>(*D);
for (int i=0;i<N;i++){
for (int j=0;j<N;j++){
D[i*N+j]=i+j;
}
}
for (int i=0;i<N;i++){
for (int j=0;j<N;j++){
cout <<D[i*N+j]<<"\t";
}
cout <<"\n";
}
cout <<"\n\n";
cout <<"Complex\n";
for (int i=0;i<N;i++){
for (int j=0;j<N;j++){
cout <<C[i*N+j]<<"\t";
}
cout <<"\n";
}
return 0;
}
这是正确的做法吗?
【问题讨论】:
-
建议您查看
std::complexreference,密切关注assignment operator。
标签: c++ type-conversion