台灣最大程式設計社群網站
線上人數
636
 
會員總數:245969
討論主題:189549
歡迎您免費加入會員
討論區列表 >> C/C++ >> 2d array template function 矩陣轉置與乘積問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
2d array template function 矩陣轉置與乘積問題
價值 : 20 QP  點閱數:554 回應數:2
樓主

tamashika
門外漢
0 1
10 1
發送站內信

題目簡單來說就是

1.做只有header的library。
2.要能夠讓mxn的矩陣轉置與作乘積。
3.使用這個library的main並沒有限定。(很隨意的題目)


詳細題目在這裡:


Code在這裡:
Header.h:
http://codepad.org/0RD11HV9
Source.cpp:
http://codepad.org/3CzRhuxo

現在我得到的結果都是正確的
但在header裡的template(尤其是第二個)我朋友說不是這樣用
不曉得要怎麼修?

謝謝

搜尋相關Tags的文章: [ C++ ] , [ template ] ,
本篇文章發表於2018-04-03 04:24
1樓
作者回應

tamashika
檢舉此回應
補充詳細題目:
本篇文章回覆於2018-04-03 04:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Raymond
檢舉此回應
這樣寫不是大問題, 但主要的問題是, 你的程式容易導致 memory leak, 因為使用者必須要記得釋放記憶體.

另外, 你程式的可塑性不高, 因為你把它限死在 int 的矩陣.

用 std::vector<std::vector<T>> 或自己寫個 class 就可以同時解決上面的問題. 比方說:


你也可以自己寫 class, 自己寫的 class, 內部也可以用 std::vector<> 來實施的:


transpose() 可以 Matrix 的成員, 也可以是個全域函式, 完全看你整體的設計. 這裡用全域函式為例:


multiplication 可以超載全域的 operator*. 但最好的做法是透過 *= 成員來實施:



本篇文章回覆於2018-04-03 09:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.