锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产精品二国产精品,国产精品青草久久久久福利99,亚洲AV日韩AV永久无码久久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久久久久久人| 久久亚洲高清综合| 国内精品久久久久久久影视麻豆| 久久99精品久久久久子伦| 狠狠色丁香久久婷婷综合五月| 久久成人影院精品777| 日日狠狠久久偷偷色综合0| 2021最新久久久视精品爱| 国产精品女同久久久久电影院| 亚洲国产精品婷婷久久| 久久久久亚洲AV片无码下载蜜桃| 国内精品人妻无码久久久影院| 国产精品日韩深夜福利久久| 亚洲午夜久久久影院| 久久久久久亚洲精品不卡| 亚洲va久久久噜噜噜久久狠狠 | 亚洲色欲久久久综合网东京热| 精品国产91久久久久久久| 欧美久久一级内射wwwwww.| 精品久久久久中文字幕日本| 久久久久亚洲精品无码网址| 久久精品一本到99热免费| 久久久久久亚洲精品不卡| 亚洲国产成人久久精品影视| 奇米综合四色77777久久| 欧美久久亚洲精品| 久久久久久av无码免费看大片| 国产精品一区二区久久| 色欲综合久久中文字幕网| 四虎久久影院| 久久e热在这里只有国产中文精品99| 久久久久久人妻无码| 亚洲va中文字幕无码久久不卡| 午夜精品久久久久| 一本色道久久综合| 久久精品国产亚洲AV忘忧草18 | 91久久精品无码一区二区毛片| 久久人人爽人人爽人人片av高请 | 亚洲欧美伊人久久综合一区二区 | 久久久久久国产精品免费无码| 欧美精品丝袜久久久中文字幕 |