第二個學習的是ignore_unused,
template inline void ignore_unused(ts const& ...)
{}
ignore_unused使用可變引數模板,可以支援任意數量,任意型別的變數,把它們作為函式的引數『使用』了一下,騙過了編譯器,達到了與(void)var相同的效果。
#includeusing namespace boost;
int func(int x,int y)
int main()
如果不加ignore_unused,編譯器會報出警告資訊。
下面的函式內部定義了乙個typedef,然後用ignore_unused忽略:
void func2()
Boost原始碼學習三 實用工具 (3)
第三個學的是optional,按照boost程式庫開發指南中的介紹 optional的類摘要 template class t class optional optional庫使用 容器 語義,包裝了 可能產生無效值 的物件,實現了 未初始化 的概念.include using namespace ...
Boost原始碼學習三 實用工具 (4)
第四個是assign,include using namespace std include assign 許多情況下我們都需要為容器初始化或者賦值,填入大量的資料,比如初始錯誤 和錯誤資訊,或者是一些測試用的資料。stl容器僅提供了容納這些資料的方法,但填充的步驟卻是相當地麻煩,必須重複呼叫ins...
boost之實用工具
1.noncopyable用於禁止複製和拷貝的類繼承。宣告拷貝和賦值函式為私有,將執行時的錯誤轉化為編譯期的錯誤。include include using namespace std using namespace boost class mynoncopy private mynoncopy c...