亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C+矩陣類

C+矩陣類

C++
阿晨1998 2019-07-05 15:50:01
在C中,如果我想創建一個矩陣結構,我將使用:struct matrix {   int col, row;   double data[1]; // I want the matrix entries stored                   // right after this struct}然后我就可以把它分配給matrix* allocate_matrix(int row, int col) {   matrix* m = malloc(sizeof(matrix) + sizeof(double) * (row * col - 1));   m->row = row; m->col = col;   return m;}現在我用C+做等價物了嗎?編輯:我想知道在C+中實現矩陣類的規范方法。
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

建立一個高效、高質量的矩陣類有很多的微妙之處。謝天謝地,有幾個好的實現在四處浮動。

仔細考慮一下,您想要的是一個固定大小的矩陣類還是一個可變大小的類。也就是說,你能這樣做嗎?

// These tend to be fast and allocated on the stack.matrix<3,3> M;

還是你需要這樣做

// These are slower but more flexible and partially allocated on the heap matrix M(3,3);

有好的庫支持這兩種風格,有些庫支持這兩種風格。它們有不同的分配模式和不同的性能。

如果您想自己編寫代碼,那么模板版本需要一些模板知識(Duh)。而動態的一個需要一些黑客來繞過很多小的分配,如果使用在緊環內。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 616 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號