施磊C++開(kāi)發(fā)高級(jí)提升C++面試和開(kāi)發(fā)能力
2022-09-20 00:16 作者:三國(guó)盡歸許佳琪 | 我要投稿
應(yīng)用場(chǎng)景
?在應(yīng)用系統(tǒng)開(kāi)發(fā)中,我們常常有以下需求:
在多個(gè)線(xiàn)程之間,比如初始化一次socket資源(已報(bào)名施老師c++底部評(píng));比如servlet環(huán)境,共享同一個(gè)資源或者操作同一個(gè)對(duì)象
在整個(gè)程序空間使用全局變量,共享資源
大規(guī)模系統(tǒng)中,為了性能的考慮,需要節(jié)省對(duì)象的創(chuàng)建時(shí)間等等。
使用方法
a) 構(gòu)造函數(shù)私有化(設(shè)置為private) =>防止從類(lèi)外調(diào)用構(gòu)造函數(shù),保證在任何情況下只生成一個(gè)實(shí)例;
b) 提供一個(gè)全局的靜態(tài)方法GetInstance(全局訪(fǎng)問(wèn)點(diǎn)) =>便于提供從類(lèi)外部獲取單例類(lèi)的唯一實(shí)例的方法;
c) 在類(lèi)中定義一個(gè)靜態(tài)指針,指向本類(lèi)的變量的靜態(tài)變量指針。
標(biāo)簽: