Aar*_*ron 0 c++ pointers vector c++11
我有一个函数接受指向double的指针:
void Foo(double ** m); // expects a 3x3 matrix of doubles
Run Code Online (Sandbox Code Playgroud)
是否有可能,通过适当的转换和诸如此类的方法,将std :: vector的std :: vector传递给double或者std :: array of std :: arrays of double?如果是这样,有人可以解释一下吗?
std::vector<std::vector<double>> v(3, std::vector<double>(3));
std::array<std::array<double, 3>, 3> a;
Run Code Online (Sandbox Code Playgroud)
如果函数只接受指向double的指针,那么这是可能的.(通过v.data()或a.data()).但是函数接口中指针的指针让我觉得这样的转换可能是不可能的.
谢谢,
亚伦
您必须通过示例构建数组:
double* a[3] = {v[0].data(), v[1].data(), v[2].data()};
Foo(a);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
477 次 |
最近记录: |