推 fireslayer: 學完C++再學C#,JAVA真的會寫到高潮 12/21 14:44
推 s25g5d4: 那 Python 怎麼辦? 12/21 14:46
→ PkmX: 檔案第一次開失敗 那你有開第二次嗎? 12/21 14:47
推 xshane831: 謝謝edisonx大! 12/21 14:49
→ PkmX: 不過其實我覺得每個iteration直接重新建一個local的ofstream 12/21 14:52
→ PkmX: 就好 不用自己去close()和clear() 12/21 14:53
推 Jimmy0301: 不贊同樓上,有開就要關 12/21 15:24
推 kwpn: local ofstream生命周期結束就會自動關呀 12/21 15:29
→ kwpn: 我比較傾向local ofstream的寫法 12/21 15:30
→ loveme00835: 推 PkmX。不用 RAII 幹嘛寫 C++,有 class 的 C 也 12/21 16:19
→ loveme00835: 不是這樣寫 12/21 16:19
→ loveme00835: 我都開新的 block 避免忘記寫 .close(),建構時就開 12/21 16:24
→ loveme00835: 檔也不需要 .open()。你要有個 name 給 block 後的 12/21 16:24
→ loveme00835: 區段用就 smart pointer 12/21 16:24
推 fireslayer: Local+1 但還是會寫close 12/21 20:19
→ EdisonX: 蠻多例子是用 local 開,在 dtor 時自動做,這點無誤. 12/21 21:50
→ EdisonX: 唯我只是覺得原 po 遇到的可能是我所敘述的問題. 12/21 21:51
→ PkmX: 所以一開始就在loop內開一個新的根本就不會有這問題不是= = 12/21 22:31
→ EdisonX: @PkmX , 是的。 12/21 22:43
→ loveme00835: 從OO的觀點來看,ofstream物件在這邊代表每次迭代時 12/22 10:10
→ loveme00835: 各自的寫檔操作,比起本來只有一個物件,創 local ob 12/22 10:10
→ loveme00835: j 更能反映問題;不然以跑迴圈前就創的那個物件來說 12/22 10:10
→ loveme00835: ,它的存在在問題裡是未定義的,這就是為什麼有的人 12/22 10:10
→ loveme00835: 寫碼不註解就很難理解的原因 12/22 10:10
→ ACMANIAC: 想問一下,每次都要重新創出 object 不會效率低落嗎? 12/24 03:57
推 cjcat2266: "效率相對較低" 不代表 "效率低落" 12/24 05:52
→ cjcat2266: 寫程是本來就是在"好讀、好維護"和"消耗硬體資源"之間 12/24 05:53
→ cjcat2266: 作取捨 12/24 05:53
→ cjcat2266: 付出一點點的資源換來好讀、好維護的程式碼是沒問題的 12/24 05:54
→ cjcat2266: 不然就乾脆完全不要用virtual function啦 :/ 12/24 05:55
→ azureblaze: 絕大部分狀況下人的時間比電腦的時間貴很多 12/24 13:00
→ ACMANIAC: 嗯... 是這樣沒錯 12/24 14:17
→ Killercat: 不是寫嵌入 不是寫critical section 不是寫超大資料流 12/24 17:25
→ Killercat: 就不要自作聰明過早最佳化,這其實很危險 12/24 17:25