2012-07-24 134 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