锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文一区字幕,亚洲欧美日韩人成在线播放,伊人久久婷婷http://m.shnenglu.com/ietj/category/5885.html瑙傛湜錛岀瓑寰呭彧鑳借鍑虹幇鐨勬満浼氱櫧鐧芥簻璧?/description>zh-cnThu, 22 May 2008 08:45:34 GMTThu, 22 May 2008 08:45:34 GMT60C++璧勬簮閲婃斁 http://m.shnenglu.com/ietj/articles/43781.html涓璺灝?/dc:creator>涓璺灝?/author>Wed, 05 Mar 2008 16:38:00 GMThttp://m.shnenglu.com/ietj/articles/43781.htmlhttp://m.shnenglu.com/ietj/comments/43781.htmlhttp://m.shnenglu.com/ietj/articles/43781.html#Feedback0http://m.shnenglu.com/ietj/comments/commentRss/43781.htmlhttp://m.shnenglu.com/ietj/services/trackbacks/43781.html    瑕佹兂瑙e喅涓婇潰鐨勯棶棰橈紝灝卞繀欏誨疄鐜拌祫婧愮殑鑷姩閲婃斁錛岀被鐨勬瀽鏋勫嚱鏁版濂藉彲浠ユ弧瓚蟲瑕佹眰錛屽氨璞℃爣鍑嗗簱涓櫤鑳芥寚閽堝氨鏄繖涔堝疄鐜扮殑錛屼絾闂鍦ㄤ簬鎴戜滑鐨勫弬鏁頒釜鏁幫紝鍙傛暟綾誨瀷鐨勪笉紜畾鎬с傝櫧鐒墮噸杞藉拰妯℃澘鍙互瑙e喅姝ら棶棰?榪欎篃鏄垜鍦ㄧ綉涓婄湅鍒扮殑瑙e喅鏂規硶)錛屼絾妯℃澘綾葷殑鍙傛暟涓嶅叿澶囪嚜鍔ㄦ帹瀵艱兘鍔涳紙緇忎紶鍏ユ垚鍛樺嚱鏁板弬鏁板兼帹瀵煎嚭妯℃澘鍙傛暟綾誨瀷錛夛紝鑰屼笖榪囧鐨勬ā鏉垮亸鐗瑰寲涔熶笉鏄垜鎵鎿呴暱鐨勶紝鏈涓昏鏄唬鐮佺殑縐繪鎬ф棤娉曚繚璇併?br>    鏈枃涓昏鍒╃敤鐨刡oost涓殑bind搴擄紝瑙夊緱浠垮嚱鏁扮殑鍔熻兘璺熻嚜宸卞綋鍓嶇殑闇姹備笉榪滀簡錛屽洜涓哄畠浠殑鍏卞悓鐐規湁:
1. 鍙互鎺ユ敹浠繪剰澶氫釜妯℃澘鍙傛暟(娌℃湁鍏蜂綋楠岃瘉錛岃嚦灝戞槸9涓惂),
2. 鍙互鍒╃敤鍑芥暟瀵規ā鏉垮弬鏁扮被鍨嬬殑鎺ㄥ鑳藉姏錛岀渷鍘諱簡鍙傛暟綾誨瀷鐨勬寚瀹氥?br>鍞竴涓嶅悓鐨勬槸bind鍚庣殑浠垮嚱鏁版槸绔嬪嵆鎵ц錛屼笉鑳藉叿鏈夌被鐨勬瀽鏋勫嚱鏁拌嚜鍔ㄦ墽琛岀殑浼樼偣銆傜洰鍓嶉渶瑕佽В鍐崇殑闂鏄帹榪熸墽琛屾湡錛屼篃鏃㈡妸operator()鍑芥暟縐誨埌鏋愭瀯鍑芥暟涓墽琛岋紝榪欏氨闇瑕佷繚瀛榖oost::bind(....)榪斿洖鐨勫璞★紝閫氳繃綾葷殑鏋勯犲嚱鏁板幓淇濆瓨錛岀劧鍚庡湪鏋愭瀯鍑芥暟涓墽琛宱perator()灝卞彲浠ヤ簡銆?br>    鎬濊礬鏄嚭鏉ヤ簡錛屼絾闂鏄痓oost::bind(...)鍑芥暟榪斿洖鐨勭被鍨嬩笉紜畾錛屽璞¢氳繃綾繪ā鏉挎槸鍙互淇濆瓨錛屼絾綾繪病鏈夎嚜鍔ㄦ帹瀵艱兘鍔涳紝榪樻槸鏃犳硶瀹炵幇錛岃繖閲屾垜灝卞埄鐢ㄤ簡boost::any鐨勫師鐞嗭紝姝eソ瑙e喅浜嗘闂錛岃屼笖瀹冧篃鍙互鐢ㄤ簬鍑芥暟鐨勫歡榪熸墽琛屻傝瑙佷互涓嬩嬌鐢ㄦ柟娉曪細
姝ラ1錛?瀹炵幇綾諱技浜巄oost:;any鐨勭被錛屼富瑕佸畬鎴愯祫婧愮殑鑷姩閲婃斁銆傚疄鐜板涓?
//SrcRelease.h澶存枃浠?br>#ifndef _SRCRELEASE_INC_
#define _SRCRELEASE_INC_

class CSrcRelease
{
public:
    template<typename T>
    CSrcRelease(const T & value)
        : m_pHelder(new Helder<T>(value))
    {
    }

    ~CSrcRelease()
    {
        delete m_pHelder;
    }

private:
    class IHelder
    {
    public:
        virtual ~IHelder() {}
    };

    template<typename T>
    class Helder : public IHelder
    {
    public:
        Helder(const T & value)
            : held(value)
        {
        }
        ~Helder()
        {
            held();
        }

    public: // representation
        T held;
    };

    IHelder* m_pHelder;
};

#endif //_SRCRELEASE_INC_

姝ラ2錛?涓嬭澆boost搴擄紝鍥犱負鍙敤鍒頒簡boost::bind搴擄紝鎵浠ユ棤闇緙栬瘧. 灝嗗ご鏂囦歡鐩綍鍔犲叆vs2005涓?br>姝ラ3錛?瀹㈡埛绔皟鐢?br>//main.cpp
#include "SrcRelease.h"
#include <iostream>
#include <Windows.h>
#include <boost/bind.hpp>
#include <cassert>

void _stdcall InvokeStr(const char* szValue)
{
    std::cout<<szValue<<std::endl;
}

bool _stdcall InvokeStr(const char* szValue, int a, int b)
{
    std::cout<<szValue<<"\ta: "<<a<<"\tb: "<<b<<std::endl;
    return true;
}

int main()
{
    //鐢變簬API閮芥槸_stdcall璋冪敤錛岃寁s2005鐜閮芥槸榛樿_cdecl錛屾墍浠ラ渶瑕佷慨鏀箆s2005鐜
    HBITMAP hBitmap=reinterpret_cast<HBITMAP>(LoadImage(NULL, L"test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
    assert(hBitmap!=NULL);
    CSrcRelease aBitmapRelease(boost::bind(&DeleteObject, hBitmap));

    std::cout<<"Invoke Outer Before"<<std::endl;
    CSrcRelease aRelease(boost::bind(&InvokeStr, "Invoke Outer After", 8, 5));

    {
        std::cout<<"Invoke Inner Before"<<std::endl;
        CSrcRelease aRelease(boost::bind(&InvokeStr, "Invoke Inner After"));
        std::cout<<"Invoke Inner Middle"<<std::endl;
    }

    std::cout<<"Invoke Outer Middle"<<std::endl;
    return 0;
}

浠ヤ笂浠g爜鍦╳inxp+vs2005涓嬫祴璇曢氳繃錛屽鏈夌枒闂紝嬈㈣繋鑱旂郴: ietj@mail.china.com
 
                                                            鍝撴湀鍒
                                                            2008.3.5




]]>
久久精品99久久香蕉国产色戒| 久久噜噜久久久精品66| 国产午夜精品久久久久免费视 | 一本久久a久久精品亚洲| 久久久久久午夜成人影院| 91精品婷婷国产综合久久| 久久精品国产色蜜蜜麻豆| www.久久热.com| 精品久久久无码人妻中文字幕| 久久精品国产亚洲麻豆| 精品久久久无码人妻中文字幕| 精品欧美一区二区三区久久久| 亚洲精品国产美女久久久| 久久久久一本毛久久久| segui久久国产精品| 精品久久久久久国产潘金莲| 久久成人小视频| 久久久久久国产精品免费免费| 91精品国产综合久久精品| 色综合久久综合中文综合网| 久久精品中文字幕一区| 91精品国产91久久久久久青草| 久久国产精品无码HDAV| 色欲av伊人久久大香线蕉影院| 香蕉99久久国产综合精品宅男自| 久久国产精品国产自线拍免费| 亚洲AV无码久久寂寞少妇| 精品久久久久久中文字幕大豆网| 久久综合久久综合亚洲| 亚洲国产香蕉人人爽成AV片久久| 91性高湖久久久久| 国产精品丝袜久久久久久不卡 | 国产一区二区三区久久精品| 69SEX久久精品国产麻豆| 粉嫩小泬无遮挡久久久久久| 久久99国产亚洲高清观看首页| 99久久99久久精品免费看蜜桃| 91精品国产色综合久久| 99久久99久久精品国产| 国产成人精品久久| 伊人久久无码精品中文字幕|