Re: [問題] 請問函式的引數若為另一函式,是否就不 …

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間16年前 (2009/05/29 15:25), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串4/4 (看更多)
※ 引述《Carbontube (碳管)》之銘言: : 我想請問大大,這matrix class實做是要怎樣才會自己free呢? class Matrix { public: Matrix(int m, int n) : my_dim1(m), my_dim2(n), my_data(), my_data(new double[m*n]) { // empty } Matrix(const Matrix& m); // TODO ~Matrix() { delete [] my_data; } double& operator()(int i, int j) { return my_data[i * my_dim2 + j]; } Matrix& operator=(const Matrix& m); // TODO private: int my_dim1, my_dim2; double *my_data; }; 如此一來就完成了一個簡單的 Matrix class ctor 中會進行記憶體配置 dtor 中會釋放記憶體 還可以用 m(i, j) 的方式來存取其中的元素 請記得寫 copy constructor 以及 copy assignment 若你不寫,compiler 會產生一組預設的給你,但它是絕對會產生問題的 最後 在這個板上經常看到即使用 C++ 還是會對 class/struct 做 typedef 的程式碼 請記得 C++ 的 class/struct 名稱就是一個型別 所以不需要再對它們做 typedef 了 C code 才需要這麼做 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.145.14

05/29 15:34, , 1F
Visual Studio專案預設值用太多,現在才知道純粹用C得typedef
05/29 15:34, 1F

05/29 17:01, , 2F
看不懂opy constructor 以及 copy assignment
05/29 17:01, 2F

05/29 17:01, , 3F
為何用預設的會出問題? QQ
05/29 17:01, 3F

05/29 17:02, , 4F
還有請問TODO是什麼意思 是須補完備的意思嗎
05/29 17:02, 4F

05/29 17:08, , 5F
shallow copy
05/29 17:08, 5F

05/29 17:17, , 6F
TODO是用來標記該行有待處理的工作,IDE軟體會搜尋出來,然後
05/29 17:17, 6F

05/29 17:20, , 7F
列出一個工作清單,讓你看,其他類似有 FIX、UNDONE 看軟體
05/29 17:20, 7F

05/29 17:22, , 8F
查了一下,Visual stdio 沒有 fixme 標記的樣子,還有HACK標記
05/29 17:22, 8F
文章代碼(AID): #1A7utxP- (C_and_CPP)
文章代碼(AID): #1A7utxP- (C_and_CPP)