Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

實現說明

optional<T> 當前的實現使用了一個由 alignment_oftype_with_alignment (均來自 Type Traits)構建的定制對齊存儲工具。它使用一個獨立的布爾標誌來標識初始化狀態。帶有 T 的複製構造函數的 Placement new 以及 T 的析構函數被顯式用於初始化、複製和銷毀 optional 的值。這樣可以有效地繞過 T 的缺省構造函數,但是異常保證只能是基本的。有計劃用其它具有更強異常安全性的方法來替代當前的實現,如未來的 boost::variant.


PrevUpHomeNext