锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人久久精品一区二区三区 ,亚洲午夜无码久久久久,激情久久久久久久久久http://www.shnenglu.com/ietj/category/5885.html瑙傛湜錛岀瓑寰呭彧鑳借鍑虹幇鐨勬満浼氱櫧鐧芥簻璧?/description>zh-cnThu, 22 May 2008 08:45:34 GMTThu, 22 May 2008 08:45:34 GMT60C++璧勬簮閲婃斁 http://www.shnenglu.com/ietj/articles/43781.html涓璺灝?/dc:creator>涓璺灝?/author>Wed, 05 Mar 2008 16:38:00 GMThttp://www.shnenglu.com/ietj/articles/43781.htmlhttp://www.shnenglu.com/ietj/comments/43781.htmlhttp://www.shnenglu.com/ietj/articles/43781.html#Feedback0http://www.shnenglu.com/ietj/comments/commentRss/43781.htmlhttp://www.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国产精品久久| 97久久精品人人澡人人爽| 国产毛片久久久久久国产毛片| 欧美精品福利视频一区二区三区久久久精品| 欧美激情精品久久久久久久| 99久久无色码中文字幕人妻| 久久亚洲国产精品一区二区| 亚洲欧美一级久久精品| 国产精品一久久香蕉国产线看| 久久精品国产国产精品四凭| 亚洲国产精品无码成人片久久| 亚洲国产成人久久精品动漫| 亚洲狠狠婷婷综合久久久久| 久久精品国产亚洲AV不卡| 久久香蕉国产线看观看精品yw | 嫩草影院久久国产精品| 久久亚洲国产成人影院网站 | 国产成人精品久久免费动漫| 亚洲国产天堂久久综合| 色噜噜狠狠先锋影音久久| 亚洲AV日韩精品久久久久久久| 久久夜色精品国产www| 51久久夜色精品国产| 99久久久国产精品免费无卡顿| 久久精品国产欧美日韩99热| 国产成人久久精品二区三区| 日韩AV无码久久一区二区| 久久久久久久波多野结衣高潮 | 国产A级毛片久久久精品毛片| 久久久久综合国产欧美一区二区| 72种姿势欧美久久久久大黄蕉| 久久综合狠狠综合久久| 中文字幕人妻色偷偷久久| 亚洲精品高清一二区久久| 久久er国产精品免费观看8| 精品国产乱码久久久久久浪潮| 亚洲成色999久久网站| 久久精品夜色噜噜亚洲A∨| 久久国产香蕉视频|