• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tbwshc

            tbw

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            簡(jiǎn)介:實(shí)用工具類開發(fā)和維護(hù)會(huì)耗費(fèi)程序員的時(shí)間。Boost 通過提供幾個(gè)高質(zhì)量的庫,從而簡(jiǎn)化了此 過程,您可以將這些庫輕松集成到現(xiàn)有的代碼庫中。本文簡(jiǎn)單概述一些較流行的 Boost 實(shí)用工具類,并 幫助您了解如何將它們投入使用。

            實(shí)用工具類(utility classes)在幾乎任何適當(dāng)規(guī)模的 C++ 項(xiàng)目中都是必需的,但是不存在滿足此 需求的標(biāo)準(zhǔn)方法。通常,團(tuán)隊(duì)根據(jù)他們的需求編寫實(shí)用工具類代碼,但是由于缺少重要的接口信息,使得 相同組織中的其他項(xiàng)目團(tuán)隊(duì)無法重用那些類。建議的標(biāo)準(zhǔn)模板庫(Standard Template Library,STL)只 具有諸如 hash、stack 和 vector 等少數(shù)基本類,因此無法有效地用于取代遺留實(shí)用工具庫。

            本文將介紹幾個(gè) Boost 實(shí)用工具類,包括 tuple、static_assert、pool、random 和 program_options。您需要對(duì)標(biāo)準(zhǔn) STL 具備一定的了解才能充分理解本文的內(nèi)容。本文中的所有代碼都已 使用 Boostb 1.35 來進(jìn)行了測(cè)試并使用 gcc-3.4.4 來進(jìn)行了編譯。

            boost::tuple 類

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

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

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

            第一個(gè)使用元組的程序

            清單 1 使用 int、char 和 float 的元組并打印內(nèi)容。

            清單 1. 創(chuàng)建 Boost 元組并打印內(nèi)容

            #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)。請(qǐng)注意,<< 運(yùn)算符重載 std::ostream,以便通過轉(zhuǎn)儲(chǔ)每個(gè)單獨(dú) 的 tuple 元素來輸出元組。

            posted on 2012-07-21 11:54 tbwshc 閱讀(1113) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            www性久久久com| 精品蜜臀久久久久99网站| 久久精品国产黑森林| 亚洲精品高清一二区久久| 久久天天躁狠狠躁夜夜不卡| 国内精品久久久久久99| 久久精品无码一区二区三区日韩| 国色天香久久久久久久小说| 久久国产一区二区| 亚洲中文久久精品无码ww16| 久久国产视屏| 久久精品国产亚洲AV嫖农村妇女| 国产精品va久久久久久久| 色欲综合久久躁天天躁蜜桃| 99久久亚洲综合精品网站| 一本色道久久88精品综合 | 久久精品国产精品亚洲精品 | 99久久人人爽亚洲精品美女| 成人综合久久精品色婷婷| 久久香蕉国产线看观看乱码| 亚洲精品国精品久久99热一| 亚洲国产成人久久综合碰| 久久久久久久综合日本亚洲| 香蕉久久av一区二区三区 | 久久不见久久见免费视频7| 亚洲精品高清一二区久久| 国产精品永久久久久久久久久| 一本色道久久综合亚洲精品| 午夜精品久久久久久久无码| 国产精品丝袜久久久久久不卡 | 办公室久久精品| 久久久久久亚洲精品成人| 人妻无码中文久久久久专区| 2021国产精品午夜久久| 99久久国产亚洲综合精品| 狠狠色丁香久久婷婷综合图片| 无码精品久久一区二区三区 | 国产精品狼人久久久久影院| 久久美女人爽女人爽| 亚洲综合婷婷久久| 国产ww久久久久久久久久|