單例模式有很多種,有的使用不當
會存在因為最后元素釋放順序不當導致程序Crush,或者Qt的信號、槽找不到要發送、要接收的對象等。
比如我使用的這種方式,使用不當
就出現過會Crush的情況:
EffectiveC++推薦的版本
Qt中的QApplication其實也是一個單例,實現也比較有趣,簡單,通過利用一個局部變量來控制單例元素的析構調用,保證該局部變量會在程序結束前析構,可以看看:
頭文件
cpp文件
單例模式有很多種,有的使用不當
會存在因為最后元素釋放順序不當導致程序Crush,或者Qt的信號、槽找不到要發送、要接收的對象等。
比如我使用的這種方式,使用不當
就出現過會Crush的情況:
Qt中的QApplication其實也是一個單例,實現也比較有趣,簡單,通過利用一個局部變量來控制單例元素的析構調用,保證該局部變量會在程序結束前析構,可以看看: