→ james732:我覺得第四點比較不奇怪,有時使用者不用管struct內容 04/28 23:02
→ james732:只要有指標跟正確的setter/getter就可以操作了 04/28 23:02
→ james732:另外有些環境要用C++會挺麻煩的,譬如EDK2這種東西 04/28 23:05
推 purpose:一邊是有紀律有組織,一邊是得過且過,惡性循環 04/28 23:08
→ purpose:warning 多很有可能原本是 VC6 時期寫,換新編譯器後... 04/28 23:09
→ james732:話說有的時間的話我也好想整頓手邊的程式碼,可是.... 04/28 23:10
→ james732:還是早點下班才是真的,上星期平均十一點離開公司 orz 04/28 23:11
→ YTsungL:XXX_type myType= *(XXX_type*) struct; ? 04/28 23:41
推 littleshan:其實singleton就是global variable 04/28 23:44
→ diabloevagto:早點下班才是真的xdd 04/28 23:45
→ diabloevagto:你整頓了沒產能反而是你被唸 04/28 23:45
※ 編輯: calais007 來自: 114.37.135.55 (04/28 23:53)
→ firose:第三點真的很妙 04/28 23:54
推 YTsungL:寫kernel module的話不用C++很正常吧? 前同事不愛用STL則 04/29 00:01
→ YTsungL:是因為他覺得performance不好, 所以見人見智囉 04/29 00:02
推 Bencrie:3 也不見得會 leak 吧 ... 雖然那個 void* 會誤導人 XDD 04/29 00:12
推 Bencrie:7 的話,我是覺得 C 比較簡單 ... 雖然寫 code 的人要負 04/29 00:19
推 purpose:out_b 那個註解的英文我看不太懂,是他寫錯還是我有問題? 04/29 00:20
→ Bencrie:更多的責任。 04/29 00:20
→ purpose:回傳一個 allocate space,這 space 是要怎樣 return 04/29 00:21
→ Bencrie:他要把 void* cast 成某個東西的** 吧 XD 04/29 00:21
→ purpose:我知道他想幹嘛,但那英文總覺得很怪 04/29 00:21
推 Bencrie:allocated ? 04/29 00:22
→ calais007:傳一個null pointer進去,出來是有memory space的 04/29 00:24
http://stackoverflow.com/questions/105477/c-pointer-q-malloc-inside-a-fn-call-appears-to-be-getting-freed-on-return-of-fn
※ 編輯: calais007 來自: 114.37.135.55 (04/29 00:27)
推 Bencrie:傳 NULL 進去沒 segfault 的話就是程式有問題 XD 04/29 00:30
推 cobrasgo:第三個不會很奇怪,你把c寫的很oo的話,當你new一個obj的 04/29 01:11
→ cobrasgo:時候就會在newObj裡malloc。當然要有對應的function來 04/29 01:12
→ cobrasgo:做類似delete的動作,把newObj malloc的收乾淨 04/29 01:12
→ cobrasgo:拍謝我看錯了囧 04/29 01:14
推 sawang:Embedded sytem中開發Kernel module的話,memory需要計較 04/29 02:19
→ sawang:記憶體能省就省,我個人偏見覺得是個好習慣啦 04/29 02:21
推 damody:同意,台灣的品質快輸對岸了 04/29 02:36
→ tinlans:不用 STL 是因為 template instances 一多的話會吃記憶體 04/29 08:00
→ tinlans:。不過這也只有偉大的鬼島做出來的硬體需要擔心這... 04/29 08:01
→ in09:推B大,我也覺得C比較簡單,有些功能簡單架構單純的,用C比較好 04/29 08:24
推 saxontai:呃,記憶體是要錢的。這種成本考量不是只有台灣的 design 04/29 08:25
→ saxontai:house 才會這樣,國內外都一樣。比較的可怕的是對硬體資 04/29 08:26
→ saxontai:源的使用毫無節制的 programmer >_< 04/29 08:26
→ saxontai: ^那 04/29 08:42
同意在某些情形記憶體要斤斤計較
像寫ASIC的firmware或是kernel module
但這些東西我是在AP層看到的
process的stack本身就很夠用了
擺在那邊不用改用heap反而跟其他process搶memory
這樣有比較省?也許我的觀念錯誤吧.
※ 編輯: calais007 來自: 114.37.135.55 (04/29 09:52)
推 yoco315:我覺得有的公司不用C++的原因,是因為怕找不到會C++的人 04/29 13:20
→ yoco315:要找C跟C++的人才,前者真的簡單很多... 04/29 13:20
推 saxontai:我是針對推文而推文的,而不是原 PO 的文章哦。XD 04/29 17:30
推 EdisonX:推! 蠻想知道goto用法長怎樣的,目前只在fsm裡看過.. 04/30 09:57
推 purpose:若有個 TranslateToTxt(char *srcStr, char *outFile) 04/30 10:41
→ purpose:翻譯後的字串放在 malloc(xx) 建的記憶體裡,然後要輸出到 04/30 10:41
→ purpose:檔案時失敗,可能用 goto 跳到函數結尾,用 free 清記憶體 04/30 10:42
推 tropical72:感謝p大補充. 04/30 10:43
推 iWRZ:Linux 核心程式碼就有少許 goto 04/30 10:45
推 saxontai:goto在過往被妖魔化得很嚴重。妥善利用的話是個好物。 04/30 11:45
→ james732:Linux kernel的goto其實也不算少許了 04/30 11:58
→ angleevil:goto..在c++的地位會滿輕的.因為c++這邊有例外處理的 04/30 15:13
→ angleevil:議題. 04/30 15:14
→ angleevil:置於第三點,以前就有提醒我多參考strcpy得作法.一個lib 04/30 15:16
→ angleevil:函式只需要處理的功能就好.沒有必要幫user return heap 04/30 15:17
→ angleevil:空間.但是之前在找glib的hashtable時.我的確有看到這種 04/30 15:19
→ angleevil:做法.你的感想跟我剛剛結束實習訓練來到公司一樣 04/30 15:20
→ angleevil:但是我的感覺是這民族真的很喜歡硬做.然後哪天爆了 04/30 15:22
→ angleevil:才推來推去. 就像我那個只喜歡享受完成的同事一樣 04/30 15:23
→ angleevil:不是很有藝術的人 04/30 15:23
推 Bencrie:樓上讓我想起 DirectX 很愛幫 user return heap XDD 04/30 15:23
→ shadow0326:其實return heap然後再提供xxx_free()之類的作法還滿常 04/30 16:46
→ shadow0326:見的, 一些常見library或國外知名公司的SDK都有 :/ 04/30 16:47
推 johnlinvc:linux有goto 是因為linus討厭cpp XDD 04/30 17:11
→ james732:話說我到現在還是不知道怎麼正確的使用C++ exception... 04/30 20:51
推 loveme00835:連超哥都... 那我... (倒 04/30 20:55
→ james732:樓上少來!! 04/30 20:56
※ 編輯: calais007 來自: 114.37.131.117 (04/30 23:37)
→ calais007:glibc的確滿多這樣的東西啦,我其實也只是抱怨一下而已 04/30 23:38
→ calais007:因為人都有不擅長和擅長,應該用最簡單不會出錯的方法解 04/30 23:39
→ calais007:Simple is beauty不是嗎? 04/30 23:39
※ 編輯: calais007 來自: 114.37.131.117 (04/30 23:40)
推 freelancer:那 strdup 是怎麼來的..:P 05/01 00:46
→ angleevil:kiss原則其實是很難的.臺灣人學到美國的隨性.卻沒學到 05/01 16:40
→ angleevil:其他優點.不過是題外話.講真的.c++到底要怎麼解決好 05/01 16:41
→ angleevil:要問問超哥和版主 05/01 16:43
→ james732:....樓上應該不是在叫我吧 (飄走) 05/01 23:50
→ angleevil:就是樓上那個想飄走的 05/02 10:30