2012-07-24 110 views
0
class// 
    public: 
     double a[3][2][2]; 

    void f(double b[3][2][2]){ 

    //How do i assign b to a? 
    } 

我如何分配arrays.I卡住我的指针多维数组分配

回答

3

甲memcpy的就可以了:

memcpy(a, b, sizeof(a)); 

注意不要用sizeof(b),由于B实际上是一个指针,而不是一个数组,所以只有4或8个字节将被复制。

+0

感谢您的答案 – feminkk 2012-07-24 18:45:20

0

可以重载=操作符,但它必须做一个数组的元素乘元素副本另一个。

+0

正确。我也推荐使用double *** b来避免复制。 – holgac 2012-07-24 18:18:56

+0

你的意思是重载'operator ='为他的班级?或者为一个三维数组的双打?你不能实现后者。 – 2012-07-24 18:20:18

+0

谢谢你的回答 – feminkk 2012-07-24 18:45:34