看板 C_and_CPP 關於我們 聯絡資訊
問題(Question): struct stringy{ char *str; int ct; } void set(strcut stringy info, char *str) { } 小弟想要動態配置一塊記憶體給info.str 而給予的空間是根據str的字串 長度來決定 不過小弟不知道要怎麼分配 所以想請問各位大大幫忙解答 原本想法: char *(info.str) = new char[strlen(str)+1]; //error -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.107.172
x000032001:info->str = malloc(...) ? 01/06 14:23
Bencrie:info.str = malloc(strlen(str)+1); 01/06 14:35
diabloevagto:http://ideone.com/8np7A 先創好struct在分配就好 01/06 14:39
diabloevagto:我看原po有用到new那應該是c++,怎麼不用class呢? 01/06 14:40
thank1984:瞭解了 謝謝樓上兩位大大 01/06 14:40
thank1984:謝謝d大 我目前還沒讀到那塊^^" 所以還不會用class 01/06 14:45
diabloevagto:STRUCT跟malloc主要是c在用,c++可以用class及new 01/06 14:48
diabloevagto:我是覺得如果你struct概念有了,在稍微看一下class 01/06 14:49
diabloevagto:你會了解的很快的 01/06 14:49
thank1984:OK 謝謝d大的幫忙^^ 01/06 14:54
tropical72:跳個tone,POD而言我反覺得用malloc比較好掌控,new tra~ 01/06 15:00
tropical72:下去也是呼叫malloc,只是new fail的話就...嗯.就這樣.. 01/06 15:01
shadow0326:我偏好用new的原因是如果new和malloc混用的話, 我自己 01/06 15:11
shadow0326:會搞混 :Q 01/06 15:11
shadow0326:另外POD和functor的情況下我比較喜歡用struct而非class 01/06 15:12
shadow0326:純粹只是個人覺得這樣的語義看得比較順眼 01/06 15:12
diabloevagto:我用new是覺得說語法比較簡潔xdd可以少打幾個字 01/06 15:32