[問題] 結構成員配置記憶體空間

看板C_and_CPP作者 (把握當下)時間12年前 (2012/01/06 14:08), 編輯推噓3(3014)
留言17則, 6人參與, 最新討論串1/1
問題(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

01/06 14:23, , 1F
info->str = malloc(...) ?
01/06 14:23, 1F

01/06 14:35, , 2F
info.str = malloc(strlen(str)+1);
01/06 14:35, 2F

01/06 14:39, , 3F
http://ideone.com/8np7A 先創好struct在分配就好
01/06 14:39, 3F

01/06 14:40, , 4F
我看原po有用到new那應該是c++,怎麼不用class呢?
01/06 14:40, 4F

01/06 14:40, , 5F
瞭解了 謝謝樓上兩位大大
01/06 14:40, 5F

01/06 14:45, , 6F
謝謝d大 我目前還沒讀到那塊^^" 所以還不會用class
01/06 14:45, 6F

01/06 14:48, , 7F
STRUCT跟malloc主要是c在用,c++可以用class及new
01/06 14:48, 7F

01/06 14:49, , 8F
我是覺得如果你struct概念有了,在稍微看一下class
01/06 14:49, 8F

01/06 14:49, , 9F
你會了解的很快的
01/06 14:49, 9F

01/06 14:54, , 10F
OK 謝謝d大的幫忙^^
01/06 14:54, 10F

01/06 15:00, , 11F
跳個tone,POD而言我反覺得用malloc比較好掌控,new tra~
01/06 15:00, 11F

01/06 15:01, , 12F
下去也是呼叫malloc,只是new fail的話就...嗯.就這樣..
01/06 15:01, 12F

01/06 15:11, , 13F
我偏好用new的原因是如果new和malloc混用的話, 我自己
01/06 15:11, 13F

01/06 15:11, , 14F
會搞混 :Q
01/06 15:11, 14F

01/06 15:12, , 15F
另外POD和functor的情況下我比較喜歡用struct而非class
01/06 15:12, 15F

01/06 15:12, , 16F
純粹只是個人覺得這樣的語義看得比較順眼
01/06 15:12, 16F

01/06 15:32, , 17F
我用new是覺得說語法比較簡潔xdd可以少打幾個字
01/06 15:32, 17F
文章代碼(AID): #1F1e_RiX (C_and_CPP)