锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产精品二国产精品,国产精品青草久久久久福利99,亚洲AV日韩AV永久无码久久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




]]>
久久人妻少妇嫩草AV蜜桃| 久久国产精品77777| 国产三级精品久久| 一级女性全黄久久生活片免费 | 久久国产欧美日韩精品免费| 久久一本综合| 亚洲AV无码久久精品色欲| 青青青青久久精品国产h| 伊人久久无码精品中文字幕| 久久精品国产亚洲av水果派| 久久免费视频一区| 国产精品久久久久9999| 欧美亚洲另类久久综合婷婷| 精品久久久久久亚洲精品| 久久福利资源国产精品999| 久久99精品综合国产首页| 亚洲国产日韩综合久久精品| 久久精品视频网| 久久亚洲中文字幕精品有坂深雪| 久久99久久无码毛片一区二区| 久久亚洲春色中文字幕久久久| 欧美性大战久久久久久| 激情久久久久久久久久| 久久国产乱子精品免费女| 欧美伊人久久大香线蕉综合| 久久一区二区三区99| 色综合久久中文综合网| 国产精品久久久天天影视| 亚洲AV乱码久久精品蜜桃| 久久午夜福利无码1000合集| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久精品视屏| 久久最新免费视频| 久久久久中文字幕| 久久久青草久久久青草| 亚洲精品高清久久| 亚洲国产天堂久久综合网站| 国产高清国内精品福利99久久| 一本色道久久88加勒比—综合| www.久久热.com| 99久久国产综合精品成人影院|