青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 58,  comments - 75,  trackbacks - 0
Boost.Function庫用來提供一個對象化的函數指針。

函數指針對設計很有用。它使調用者可以延期調用,調用時機由調用者確定。而且可以改變
響應者,以應對不同的要求。

C中的函數指針只能用于自由函數。在C++中除了自由函數還有函數對象和類成員函數,這些
C的函數指針是無法用的。這要求能適應C++語言的函數指針。既然C++語言本身沒有提供,
那就提供一個庫。stl提供了,但是定義了很多類型,使用起來并不是很方便,而且函數參數
的個數被限定在兩個以下,更能是備受限制。Boost.Function庫提供了一個好的解決方案。

Boost.Function庫可以支持自由函數,函數對象,類成員函數。而且參數個數多達10個。
Boost.Function庫利用模板技術來實現。生成的代碼有很高的運行效率。本庫可以不用編譯
直接使用。

Boost.Function的頭文件。
function.hpp

定義一個Boost.Function的對象(是一個返回值類型為int,第一個參數是std::string類型
第二個參數是float類新)

boost::function< int ( std::string, float ) > funptr;

上面這個定義方式是一種容易理解的定義方式。但有些編譯器不支持,如果想更多的編譯器
支持,則用下面這種定義方式

boost::function2< int, std::string, float > funptr;

注意模板中有3個類型,而function類卻是boost::function2。應為返回值類型不計算在參數
類型中(原因很簡單,C++的編譯器不會根據返回類型不同來區分函數定義的不同)。

int freefun( std::string str, float f )
{
    std::cout << str << " : " << f << std::endl;
    return 0;
}

class CFun
{
public:
    int operator() ( std::string str, float f )
    {
        std::cout << str << " : " << f << std::endl;
        return 0; 
    }
}

上面定義了一個自由函數和一個函數對象。下面將把他們付給function對象。

賦值為自由函數
funptr = &freefun;

賦值為函數對象
CFun fun;
funptr = fun;

以上兩種情況的調用方法一致,如下
funptr( "float =", 10.0 );

Boost.Function對象要能指向類型原函數,其定義要如下

class FreeClass
{
public:
    int out( std::string str, float f )
    {
        std::cout << str << " : " << f << std::endl;
        return 0; 
    }
};

boost::function< int ( FreeClass*, std::string, float ) > funptr;

跨平臺的定義方法
boost::function3< int, FreeClass*, std::string, float > funptr;

賦值方法
funptr = &FreeClass::out;

調用方法
FreeClass fc;

funptr( &fc, "float =", 10.0 );


posted on 2007-07-18 13:28 walkspeed 閱讀(10655) 評論(2)  編輯 收藏 引用 所屬分類: STL、Boost、范型編程C++語言

FeedBack:
# re: Boost.Function的基本使用
2008-02-13 11:05 | stlf
不錯, 文章寫得很清晰!  回復  更多評論
  
# re: Boost.Function的基本使用
2008-03-28 10:27 | Ason Jia
寫的是不錯,不過內容太少了,要是再多一些,可以整理成一片初級指南  回復  更多評論
  

<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

常用鏈接

留言簿(4)

隨筆分類(64)

隨筆檔案(58)

文章分類(3)

文章檔案(3)

相冊

收藏夾(9)

C++零碎

好友

搜索

  •  

積分與排名

  • 積分 - 162559
  • 排名 - 163

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区免费| 男人的天堂亚洲在线| 国产精品色婷婷| 一区二区三区.www| 日韩视频免费观看高清完整版| 欧美精品亚洲精品| 亚洲欧美日韩另类| 欧美亚洲综合久久| 亚洲第一色中文字幕| 亚洲片在线资源| 欧美日韩另类字幕中文| 亚洲欧美区自拍先锋| 亚洲欧美一区二区三区在线| 国产日韩欧美日韩| 欧美69视频| 国产精品theporn88| 久久久精品久久久久| 免费中文日韩| 午夜精品一区二区三区在线| 久久国产精品毛片| 亚洲狼人综合| 欧美亚洲视频一区二区| 亚洲精品一区二区三区婷婷月| 一区二区三区国产在线观看| 国产一区日韩一区| 亚洲激情成人网| 国产亚洲欧美一区二区| 亚洲精品欧美日韩专区| 国产亚洲欧美一区二区三区| 91久久综合| 国产一区二区主播在线| 99国产精品99久久久久久粉嫩| 黄色综合网站| 亚洲一二三区视频在线观看| 亚洲人成亚洲人成在线观看| 亚洲欧美日韩精品| 99视频一区二区三区| 久久人人爽人人| 欧美在线免费一级片| 欧美三级资源在线| 亚洲大胆在线| 激情另类综合| 欧美一区二区高清| 亚洲一区二区高清| 欧美好吊妞视频| 欧美电影免费观看| 精品成人久久| 欧美在线免费| 欧美在线影院| 国产精品一区二区久激情瑜伽| 亚洲日本成人| 亚洲精品国产日韩| 蜜臀久久久99精品久久久久久| 久久嫩草精品久久久精品| 国产精品一区二区三区四区| 亚洲日韩欧美视频| 日韩视频免费在线| 欧美大尺度在线观看| 欧美黑人国产人伦爽爽爽| 一区视频在线看| 欧美专区亚洲专区| 久久免费视频观看| 国内外成人在线视频| 性色一区二区| 久久视频这里只有精品| 亚洲国产一区二区三区在线播| 国语自产在线不卡| 久久精品91| 麻豆精品视频在线| 在线看成人片| 免费久久99精品国产自| 亚洲国产另类久久久精品极度| 亚洲国产mv| 欧美大色视频| 99re6热在线精品视频播放速度| 在线亚洲观看| 国产精品啊啊啊| 欧美亚洲网站| 麻豆精品一区二区av白丝在线| 在线观看91精品国产麻豆| 蜜桃av一区二区在线观看| 亚洲精品国产精品乱码不99按摩| 日韩一区二区高清| 国产精品欧美久久| 久久精品91久久香蕉加勒比| 欧美a级大片| 一本色道久久综合亚洲91| 国产精品久久久久9999吃药| 欧美中文字幕在线观看| 亚洲缚视频在线观看| 中日韩男男gay无套| 国产亚洲成精品久久| 麻豆成人精品| 这里只有精品视频在线| 免费不卡中文字幕视频| 9久草视频在线视频精品| 国产精品网站在线播放| 裸体一区二区| 亚洲免费视频在线观看| 欧美成人综合网站| 午夜久久资源| 亚洲欧洲日本mm| 国产欧美在线播放| 欧美黄色一区二区| 欧美一级播放| 99在线精品免费视频九九视| 久久久久久久久久久久久女国产乱 | 亚洲国产成人精品女人久久久 | 亚洲人成免费| 久久久国产一区二区| 一本色道久久综合狠狠躁篇怎么玩| 国产模特精品视频久久久久| 免费国产自线拍一欧美视频| 欧美高清在线一区| 欧美激情第五页| 亚洲尤物视频在线| 亚洲福利在线看| 国产精品一区二区久久国产| 欧美国产精品久久| 篠田优中文在线播放第一区| 亚洲美女av电影| 亚洲国产精品va在看黑人| 久久精品国产v日韩v亚洲| 亚洲天堂偷拍| 亚洲欧洲日本国产| 黄网站免费久久| 国产精品青草综合久久久久99| 欧美成人伊人久久综合网| 久久午夜激情| 久久精品国内一区二区三区| 亚洲一级高清| 一本色道久久综合狠狠躁的推荐| 欧美激情欧美狂野欧美精品 | 1024成人| 欧美高清在线精品一区| 欧美亚洲综合在线| 午夜国产精品视频| 中文在线资源观看网站视频免费不卡| 蜜桃av噜噜一区| 久久免费视频在线观看| 久久看片网站| 久久夜色精品亚洲噜噜国产mv| 欧美亚洲午夜视频在线观看| 欧美亚洲视频一区二区| 午夜影视日本亚洲欧洲精品| 亚洲免费在线| 久久电影一区| 久久天天狠狠| 欧美二区在线看| 亚洲国产视频一区| 亚洲人线精品午夜| 一区二区三区四区蜜桃| 中国成人在线视频| 亚洲视频1区2区| 性色av一区二区三区| 女同性一区二区三区人了人一| 亚洲午夜av| 亚洲一区中文| 欧美一区精品| 麻豆九一精品爱看视频在线观看免费| 久久久久一区二区| 欧美国产日本| 99精品欧美一区二区三区综合在线 | 一本久久综合| 亚洲欧美日韩一区二区| 久久久久久久国产| 亚洲福利视频二区| 中文日韩欧美| 久久夜色精品| 欧美日韩综合视频| 国语自产偷拍精品视频偷| 亚洲欧洲日本在线| 午夜激情综合网| 久久综合色播五月| 亚洲精品精选| 欧美在线高清| 欧美日韩精品欧美日韩精品| 国产一二三精品| 亚洲精品在线观看免费| 欧美中文在线观看| 亚洲国产精品电影在线观看| 亚洲一区二区三区四区在线观看| 久久久久久亚洲精品不卡4k岛国| 欧美另类综合| 国产视频一区在线| 日韩视频在线观看一区二区| 久久精品二区三区| 亚洲欧洲一区二区天堂久久 | 亚洲高清免费| 午夜欧美大尺度福利影院在线看| 免费日韩av片| 国产一区91精品张津瑜| 亚洲深夜福利在线| 久久久久久一区二区| 日韩一区二区电影网| 久久免费国产精品| 国产精品成人一区二区艾草| 亚洲激情电影在线| 久久久成人精品| 亚洲在线视频网站|