boost之實用工具

2022-07-29 13:48:11 字數 1447 閱讀 4378

1.noncopyable用於禁止複製和拷貝的類繼承。宣告拷貝和賦值函式為私有,將執行時的錯誤轉化為編譯期的錯誤。

#include #include using namespace std;

using namespace boost;

class mynoncopy

private:

mynoncopy(const mynoncopy&);

void operator=(const mynoncopy&);

};class test:mynoncopy

;int main()

2.assgin,有時候我們測試需要大量的資料,需要重複呼叫insert,或者push_back(),assgin主要解決這類問題

#include #include #include #include #include #include using namespace std;

using namespace boost::assign;

int main()

還有一種呼叫方式是使用()操作符但是需要輔助函式:

#include #include #include #include #include #include using namespace std;

using namespace boost::assign;

int main()

初始化和重複填充資料

#include #include #include #include #include #include using namespace std;

using namespace boost::assign;

int main()

3.由於交換時需要進行拷貝和賦值,如果是物件很大會產生很大的執行時代價。所以需要高效的交換函式。

4.operators是用於過載操作符的類,是一系列的類,有兩大特點,一是採用友元,二是自動推導

4.1.equality_comparable 要求提供==可自動實現!=

4.2.less_than_comparable:要求提供<,可自動實現》.<=.>=

4.3.addable:要求提供+=可自動實現+

#include #include using namespace std;

using namespace boost;

class point:boost::less_than_comparable

friend bool operator<(const point& l,const point& r)

private:

int m_x;

int m_y;

int m_z;

};int main()

}

boost庫實用工具之assign

list inserter operator,const t r 過載 operator 由於list inserter過載了操作符 和逗號,我們就可以讓 變得簡潔 使用assign庫時必須使用using指示符,這有這樣才能讓過載的 等操作符在作用域內生效 例如 void assign case1 ...

linux實用工具

基本實用工具 ls 顯示檔名 list cat 顯示文字檔案內容 rm i 刪除檔案 remove i開啟選項 less more 分屏顯示檔案 hostname 顯示系統名 檔案操作 cp sourcefile destinationfile 複製檔案copy mv oldname newname...

Linux實用工具

特殊字元 轉義字元可以用 括起來,也可以在前面加上 基礎的一些命令 列出檔名 ls 顯示檔案文字內容 cat 刪除檔案 rm 顯示系統名 hostname 複製檔案 cp 更改檔名 mv 列印檔案 lpr 查詢字串 grep 顯示頭,尾檔案 head,tail 按順序顯示檔案內容 sort 刪除檔案...