在這本書中的C++編程語言,由Bjarne Stroustrup的,作者說:爲什麼構造Zlib_init類Zlib_init書中保密由Bjarne Stroustrup的
有時,當你設計一個圖書館,它是必要的,或者簡單的方法來創建一個帶有構造函數和析構函數的類型,其唯一目的是初始化和清理。這種類型只能使用一次:分配一個靜態對象,以便調用構造函數和析構函數。例如:
class Zlib_init { Zlib_init() ; //get Zlib ready for use ~Zlib_init() ; //clean up after Zlib }; Class Zlib { static Zlib_init x; //... };
不幸的是,它不能保證這樣的對象是在第一次使用之前進行初始化,並在由單獨編譯單元的程序其最後使用後被銷燬。
爲什麼作者將構造函數和析構函數保持爲私有成員? 如果我們在一個由單獨編譯的單元組成的程序中使用它,爲什麼不能使用這種方法? 它不需要定義成員x
調用構造函數Zlib_init()
和析構函數~Zlib_init()
?那麼這種方法有什麼用處? 它在本書的第10.4.9節。
這是不會編譯 - 出於多種原因 –
似乎比工作代碼的實際演示多個解說...... – nneonneo