C Boost 初步了解

2021-05-27 20:12:47 字數 1302 閱讀 9471

boost是由c++標準委員會成員發起、眾多c++業界高人參與設計並實現的乙個涉及面廣、質量高且業已廣泛使用的c++標準後備庫,其中 tr1已經被納入c++0x標準庫。不論從風格和內容組織上講,都可以認為boost專案是c++標準庫的延伸。截止到boost 1.43版本,boost專案擁有大約100個用途廣泛的實用庫。

* 容器與資料結構

介紹boost.any, boost.tuple, boost.array, boost.unordered(基於hash table,即hash_map和hash_set)等元件。

* 字串演算法和文書處理

介紹boost.lexical_cast, boost.format, boost.string_algo等元件。

* 正規表示式

正規表示式語法(perl正規表示式語法)的講解,boost.regex庫的使用。

* 智慧型指標

詳細介紹shared_ptr、scoped_ptr、weak_ptr等智慧型指標的使用。

* 函式物件相關

詳細介紹boost.bind, boost.mem_fn, boost.function, boost.ref, boost.lambda等元件。

* 序列化

通過例項熟悉boost.serialization庫的用法。

* 日期與時間

boost.date_time庫的詳細介紹。

* 多執行緒

作為伺服器端開發必不可少的內容之一:多執行緒支援,boost提供了乙個跨平台的執行緒庫:boost.thread。

本單元的課程詳細介紹boost.thread。

* 網路程式設計

boost.asio庫,通過對各類作業系統原生的socket api以及事件多路分離、非同步i/o api的封裝,構成了乙個效能優秀、便於程式設計的網路程式設計框架,使複雜的網路程式設計任務變得簡單、安全、並且高效。

本單元的課程通過一系列的示例來展示:通過asio來構建tcp同步/非同步伺服器和客戶端、udp同步/非同步伺服器和客戶端應用,從而熟悉asio的介面和程式設計套路。

module09 - 專案實戰

專案實戰可選以下專案之一:

* 專案1:x-messenger

乙個im(即時通訊)伺服器,類似於msn、qq等im的伺服器。可以基於boost.asio或ace實現。

* 專案2:xy-db

乙個小型的關係型資料庫系統,包括伺服器和客戶端實現,建議基於boost相關元件實現。

* 專案3:crawler

乙個網路爬蟲,即搜尋引擎的前端,負責收集網路上的資料(網頁內容、解析url)供搜尋引擎使用。

* 其他專案,可由學員自行定義。

jquery 初步了解

js 建立函式有以下三種方法 1 函式關鍵字 function foo x 2 匿名函式 var func function x 3 建構函式 var func new function x alert x 建構函式每次執行時都解析函式主題 頻繁呼叫建構函式效率很低 並且建構函式不能遞迴使用 關鍵字...

Tomcat初步了解

http協議預設的埠號為80,如果伺服器的埠號為80,則url中的埠號可以省略,否則必須使用冒號加埠號指明埠。tomcat的埠號可在g soft apache tomcat 7.0.59 conf server.xml檔案中配置 訪問本機tomcat伺服器的方式 2.3.http 本機ip 8080...

初步了解執行緒

概念的話只須要從作業系統和應用程式兩者的關係來把握就行了,應用程式是執行緒的基礎,沒有了程式還談何執行緒呢?但是有應用程式 還是不夠的,在沒有作業系統之前,應用程式的執行過程為並沒有執行緒這一概念的,這是因為執行緒是作業系統管理應用程式而產生的概念,例如為應用程式分配執行緒id,協調程式爭奪資源,什...