Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Design Rationale(設計原則)

有一個重要的關於構造函數的設計權衡:我們可以將 array 實現為一個「集合體」(參見 C++ 標準的 8.5.1, [dcl.init.aggr])。這就意味著:

然而,這種方法也有它的劣勢:不傳遞初始化列表意味著元素有一個不確定的初始值,因為規則規定集合體應該:

無論如何,當前的實現使用了這個方法。

注意,對於與標準兼容的編譯器,可能會使用更少的大括號(根據標準的 8.5.1 (11))。也就是說,你可以像這樣初始化一個 array:

boost::array<int, 4> a = { 1, 2, 3 };

我感激任何有建設性的反饋。請注意:我沒有時間閱讀所有的 boost 郵件。因此,為了確保反饋能被我收到,請把關於這個類的每一封郵件發給我一份拷貝。

代碼就按照原樣提供,不帶有任何明顯的或隱含的授權。


PrevUpHomeNext