Boost原始碼學習三 實用工具 (2)

2021-07-08 12:35:13 字數 465 閱讀 2208

第二個學習的是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...