程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Boost庫中的實用工具類使用入門

Boost庫中的實用工具類使用入門

編輯:C++入門知識

簡介:實用工具類開發和維護會耗費程序員的時間。Boost 通過提供幾個高質量的庫,從而簡化了此 過程,您可以將這些庫輕松集成到現有的代碼庫中。本文簡單概述一些較流行的 Boost 實用工具類,並 幫助您了解如何將它們投入使用。

實用工具類(utility classes)在幾乎任何適當規模的 C++ 項目中都是必需的,但是不存在滿足此 需求的標准方法。通常,團隊根據他們的需求編寫實用工具類代碼,但是由於缺少重要的接口信息,使得 相同組織中的其他項目團隊無法重用那些類。建議的標准模板庫(Standard Template Library,STL)只 具有諸如 hash、stack 和 vector 等少數基本類,因此無法有效地用於取代遺留實用工具庫。www.2cto.com

本文將介紹幾個 Boost 實用工具類,包括 tuple、static_assert、pool、random 和 program_options。您需要對標准 STL 具備一定的了解才能充分理解本文的內容。本文中的所有代碼都已 使用 Boostb 1.35 來進行了測試並使用 gcc-3.4.4 來進行了編譯。

boost::tuple 類

有時,您希望 C++ 函數返回多個不相關的值。在推出 STL 之前,實現此目的的方法是創建所有不相 關變量的結構,並以指針或引用的形式返回它們或作為參數傳遞給函數——但是任一種方法都不是表達程 序員意圖的方法。STL 引入了 pair,可將其用於聚合不相關的數據部分,但它一次只能處理兩個數據對 象。為了使用 int、char 和 float 的元組(tuple ),您可以按如下方式返回 pair:

make_pair<int, pair<char, float> > (3, make_pair<char, float> ('a', 0.9));

隨著您添加更多的元素,創建元組結構將變得越來越困難。Boost tuple 類型派上了用場。要使用 boost::tuple,您必須包括頭文件 tuple.hpp。要執行元組比較和元組 I/O,您需要分別包括 tuple_comparison.hpp 和 tuple_io.hpp。

第一個使用元組的程序

清單 1 使用 int、char 和 float 的元組並打印內容。

清單 1. 創建 Boost 元組並打印內容

#include <iostream>
#include <tuple.hpp>
#include <tuple_comparison.hpp>
#include <tuple_io.hpp>
using namespace boost;
int main ( )
 {
 tuple<int, char, float> t(2, 'a', 0.9);
  std::cout << t << std::endl;
 return 0;
 }

此代碼的輸出為 (2 a 0.9)。請注意,<< 運算符重載 std::ostream,以便通過轉儲每個單獨 的 tuple 元素來輸出元組。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved