推 loveme00835:獨體模式 01/18 23:58
→ tropical72:獨體模式的實做也就是用全域變數吧? 01/18 23:59
→ loveme00835:以提供 clone() 來得到多個實體 01/19 00:09
其實看到您給的第一個連結我就有點 confuse 了
裡面是說要把建構子用 private 宣告,
可能是 java 的關係,所以我以為 java 可以指定建構子的權限(不會java XD)
然而您 po 的第二段連結發現,那個 Lock 建構子也不是放在 public 底下的
是我會錯意了嗎?
另想請教
照您的寫法,只要把那個 namespace 放到我的 header 裡面,
其它的 calss 也完全不用去管 com 有沒有初始化、釋放的問題吧?
另不知這方面是否有參考書籍?(Primer 念了大半似乎沒什麼印象..)
最後謝謝您的細心指教,感謝!!
※ 編輯: tropical72 來自: 180.177.76.142 (01/19 00:36)
→ loveme00835:呼叫錯了... XD 01/19 00:36
→ loveme00835:設成 private 的用意在不想讓別人建構此類的物件, 如 01/19 00:38
→ loveme00835:果建構子有一些重要的初始化動作, 也可以比較好管理, 01/19 00:40
→ tropical72:所以建構子可以放在private,只是不能建立實體物件? 01/19 00:40
→ loveme00835:因為 static 物件快要跟整個程式生命週期一樣長, 所以 01/19 00:40
→ tropical72:應該是說在主程式應面不能建立實體物件? 01/19 00:41
→ loveme00835:就像你說的不用擔心初始化、釋放的問題, 當然可以放在 01/19 00:41
→ loveme00835:private區段呀~ 除了 Lock 本身的成員函式(靜態/非靜) 01/19 00:42
→ loveme00835:還有friends, 其他地方都不准用 01/19 00:42
→ tropical72:非常感謝您的細心解說,這部份總算懂了,再次感謝!! 01/19 00:44
→ tropical72:最後一個問題,這方法在多行緒方面有要再特別注意的嗎? 01/19 00:46
→ loveme00835:如果說書的話...其實看完GoF的Designed Patterns, 剩 01/19 00:48
推 littleshan:要,多緒的話你會死得很難看 01/19 00:49
→ loveme00835:下就是看你想不想得到要把它套上來, 我是不知道 COM的 01/19 00:49
→ littleshan:請參考modern c++ design有一章在講singleton 01/19 00:49
推 VictorTom:l大一出場就氣勢驚人....XD 01/19 00:50
→ tropical72:非常感謝 loveme00835 與 littleshan指導,我受益良多 01/19 00:50
→ loveme00835:原理, 不過你要注意每個緒程執行的時間 01/19 00:51
推 loveme00835:littleshan 大說的在 6.9 01/19 00:55
→ loveme00835:不過想一想, 我是在主緒建立一個特別的物件(只是為了 01/19 00:57
→ loveme00835:呼叫某些函式), 並不是為了存取之用, 多緒應該還好 01/19 00:58
→ tropical72:再次感謝 :) 01/19 00:59
→ Chikei:可以參考stlsoft裡面的comstl initialiser看看 01/19 16:39