<分区>
我需要对两个 vector 进行点积,然后显示结果。据我所知,我能用 C++ 做的最好的事情就是返回结果 vector (指针)的地址。我目前正在使用此代码执行此操作:
// Dot product.
double * dot(double u[3], double v[3]) {
double result[3];
result[0] = u[0] * v[0];
result[1] = u[1] * v[1];
result[2] = u[2] * v[2];
return result;
然后我需要打印结果,所以我有另一个接受指针的函数:
void pvec(double * ptr) {
cout << "[" << *(ptr + 0) <<", " << *(ptr + 1) << ", " << *(ptr + 2) << "]\n";
}
这是行不通的。结果值都是垃圾。
我怎样才能使这项工作?来自 python,我真的觉得不能通过函数传递数组就像没有胳膊或腿,我无法正确玩指针游戏。