锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品成人久久久,国产成人精品免费久久久久,久久精品99无色码中文字幕http://m.shnenglu.com/eXile/category/7025.htmlzh-cnThu, 28 Jan 2010 22:25:11 GMTThu, 28 Jan 2010 22:25:11 GMT60璇磋C++鏅鴻兘鎸囬拡(2): 鏍囧噯搴撲腑鐨勬櫤鑳芥寚閽?/title><link>http://m.shnenglu.com/eXile/archive/2009/11/16/101062.html</link><dc:creator>eXile</dc:creator><author>eXile</author><pubDate>Mon, 16 Nov 2009 05:57:00 GMT</pubDate><guid>http://m.shnenglu.com/eXile/archive/2009/11/16/101062.html</guid><wfw:comment>http://m.shnenglu.com/eXile/comments/101062.html</wfw:comment><comments>http://m.shnenglu.com/eXile/archive/2009/11/16/101062.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/eXile/comments/commentRss/101062.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/eXile/services/trackbacks/101062.html</trackback:ping><description><![CDATA[ <p><span style="FONT-FAMILY: courier new; FONT-SIZE: 12pt">  <span style="FONT-FAMILY: Courier">浣跨敤鏅鴻兘鎸囬拡鏄疌++涓父鐢ㄧ殑綆$悊鍐呭瓨鐨勬柟寮忋傚叧浜庢櫤鑳芥寚閽堢殑璁捐錛屽悇璺疌++楂樻墜涔熸槸鍚勫睍紲為氥?br><br>  鍦?994騫? Greg Colvin鍚慍++鏍囧噯濮斿憳浼氭彁鍑轟簡鑷繁璁捐鐨勬櫤鑳芥寚閽堬細auto_ptr鍜宑ounted_ptr銆俛uto_ptr瀹炵幇鍩烘湰鐨凴AII綆$悊錛屼笉鍙鍒訛紱counted_ptr閲囩敤寮曠敤璁℃暟瀹炵幇浜嗕竴涓彲澶嶅埗鐨勬櫤鑳芥寚閽堛備袱鑰呯敤浜庝笉鍚岀殑鍦哄悎銆?br>  浣嗘槸鏍囧噯濮斿憳浼氭渶緇堝彧閫氳繃浜哸uto_ptr錛屽茍涓斿auto_ptr鍔犲叆浜嗕竴涓彜鎬殑“鎵鏈夋潈杞Щ”璇箟銆傚悗鏉uto_ptr鍜宑ounted_ptr榪涘叆浜咮oost C++ 搴擄紝鏀瑰悕涓簊coped_ptr鍜宻hared_ptr銆?br>  <br>  std::auto_ptr鍙墍浠ヨ璁′負鍙嫹璐濈殑錛屼篃璁告槸鍑轟簬浠ヤ笅鑰冭檻錛屾瘮濡備笅渚嬪嚱鏁幫細</span></span></p> <font size="4"> <div style="border-left-color: rgb(204, 204, 204); padding-bottom: 4px; background-color: rgb(238, 238, 238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; padding-top: 4px; "><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> f1(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> ptr);<br></span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> f2();</span></div> </font><p><font size="4">  </font><span style="FONT-SIZE: 12pt"> f1涓殑鍙傛暟鎵鎸囧悜鐨勫璞″簲璇ョ敱璋佹潵鍒犻櫎鍛紵璋冪敤鑰呰繕鏄璋冪敤鑰咃紵濡傛灉涓嶇湅紼嬪簭鏂囨。鐨勮瘽錛屾棤娉曠煡閬撹繖涓鐐廣俧2鍑芥暟涔熷瓨鍦ㄥ悓鏍風殑闂銆?br><br>   鐢╝uto_ptr鍙互娑堥櫎榪欑姝т箟鎬э細</span></p> <font size="4"> <div style="border-left-color: rgb(204, 204, 204); padding-bottom: 4px; background-color: rgb(238, 238, 238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; padding-top: 4px; "><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> f1(auto_ptr</span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> ptr);<br>auto_ptr</span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> f2();</span></div> </font><p><font size="4">  <br></font>      <span style="FONT-FAMILY: courier new">灝界濡傛錛宎uto_ptr鐨?#8220;鎵鏈夋潈杞Щ”璇箟榪樻槸浼氬甫鏉ュ壇浣滅敤錛屽洜涓轟細淇敼鍘熷肩殑甯擱噺鎷瘋礉榪濊儗浜嗕竴鑸殑璁捐鍘熷垯錛屽畠涔熻浼氬湪浣犳剰鎯充笉鍒扮殑鎯呭喌涓嬪氨鎶婂璞¤漿縐諱簡銆傚畠涔熶笉鑳界敤浜庢爣鍑嗗鍣ㄤ腑銆?br>   鎵浠uto_ptr鍦ㄦ柊鐨勬爣鍑嗗簱宸茬粡涓嶅啀鎺ㄨ崘浣跨敤銆傚彇鑰屼唬涔嬬殑鏄痷nique_ptr銆倁nique_ptr涓巃uto_ptr綾諱技錛屼絾闄愬埗浜哸uto_ptr鐨勬嫹璐濊涓恒傚悓鏃訛紝鍍忎笂闈婦鐨勪緥瀛愪竴鏍鳳紝unique_ptr鍙互浣滀負鍑芥暟鐨勫弬鏁板拰榪斿洖鍊間嬌鐢ㄣ傝繖鏄洜涓篊++澧炲姞浜嗕竴涓柊鐨勭壒寰侊細鍙沖煎紩鐢ㄣ?br><br>   shared_ptr涔熻繘鍏ヤ簡鏍囧噯搴撱傚浜庡紩鐢ㄨ鏁扮殑鏅鴻兘鎸囬拡鑰岃█錛屽驚鐜紩鐢ㄦ槸涓涓ぇ闂銆傛爣鍑嗗簱涓烘鎶妔hared_ptr瀹氫箟涓哄己寮曠敤鎸囬拡錛屽畠榪樺疄鐜頒簡涓涓急寮曠敤鎸囬拡weak_ptr銆傛樉鐒訛紝鏍囧噯搴撳茍娌℃湁浠庢牴鏈笂瑙e喅寰幆寮曠敤鐨勯棶棰橈紝瀹冩妸榪欎釜闂浜ょ粰浜嗙▼搴忓憳銆傚湪涓涓畝鍗曠殑緋葷粺涓紝浣犲彲浠ュ尯鍒嗕嬌鐢╯hared_ptr鍜寃eak_ptr錛屼互姝ゆ潵閬垮厤鍑虹幇寰幆寮曠敤銆備絾鏄湪涓涓ぇ鐨勫璞$郴緇熶腑錛屾湁鏃惰繕鏄鏄撳嚭閿欍傚驚鐜紩鐢ㄧ殑闂錛屼弗閲嶅噺寮變簡shared_ptr鐨勫彲鐢ㄦс?br><br>   閭d箞鑳戒笉鑳借嚜鍔ㄦ嫻嬫槸鍚﹀嚭鐜板驚鐜紩鐢ㄥ憿錛熶簨瀹炰笂錛屽浜巗hared_ptr榪欑浣跨敤闈炰鏡鍏ュ紡絳栫暐瀹炵幇鐨勬櫤鑳芥寚閽堬紝鏄緢闅懼疄鐜拌嚜鍔ㄦ嫻嬬殑銆備絾鏄鏋滈噰鐢ㄤ鏡鍏ュ紡璁捐錛屾垜浠彲浠ュ紩鍏ヤ竴浜涙帴鍙o紝鏉ヨВ鍐寵繖涓棶棰樸傚驚鐜紩鐢ㄧ殑媯嫻嬶紝瀹為檯涓婃槸鍥捐涓殑鍥炶礬媯嫻嬮棶棰樸?br></span><br>      鏈枃鐢?a style="FONT-SIZE: 12pt" title="eXile" href="http://m.shnenglu.com/eXile/">eXile</a><span style="FONT-SIZE: 12pt"> 鍘熷垱錛岃漿杞借琛ㄦ槑鍘熻創鍦板潃銆?nbsp;</span><a href="http://m.shnenglu.com/eXile/">http://m.shnenglu.com/eXile/</a>銆?/p><img src ="http://m.shnenglu.com/eXile/aggbug/101062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/eXile/" target="_blank">eXile</a> 2009-11-16 13:57 <a href="http://m.shnenglu.com/eXile/archive/2009/11/16/101062.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>boost::asio紺轟緥HTTP Server綾誨浘http://m.shnenglu.com/eXile/archive/2008/05/07/49072.htmleXileeXileTue, 06 May 2008 16:50:00 GMThttp://m.shnenglu.com/eXile/archive/2008/05/07/49072.htmlhttp://m.shnenglu.com/eXile/comments/49072.htmlhttp://m.shnenglu.com/eXile/archive/2008/05/07/49072.html#Feedback1http://m.shnenglu.com/eXile/comments/commentRss/49072.htmlhttp://m.shnenglu.com/eXile/services/trackbacks/49072.html



eXile 2008-05-07 00:50 鍙戣〃璇勮
]]>
vector鐨勬湁搴忓寲鎿嶄綔http://m.shnenglu.com/eXile/archive/2008/01/29/42104.htmleXileeXileTue, 29 Jan 2008 05:13:00 GMThttp://m.shnenglu.com/eXile/archive/2008/01/29/42104.htmlhttp://m.shnenglu.com/eXile/comments/42104.htmlhttp://m.shnenglu.com/eXile/archive/2008/01/29/42104.html#Feedback1http://m.shnenglu.com/eXile/comments/commentRss/42104.htmlhttp://m.shnenglu.com/eXile/services/trackbacks/42104.html銆銆
銆銆鎻掑叆瀹炵幇錛?
template <typename Container>
inline void ordered_insert(Container
& c,銆 typename Container::value_type const& t)
{
    c.insert(std::upper_bound(c.begin(), c.end(), t), t);
}

template 
<typename Container, typename Cmp>
inline void ordered_insert(Container
& c,銆typename Container::value_type const& t,銆Cmp cmp)
{
    c.insert(std::upper_bound(c.begin(), c.end(), t, cmp), t);
}
銆銆
銆銆鍒犻櫎瀹炵幇錛?
template <typename Container, typename It>
inline void erase_range(Container
& c, std::pair<It, It> const& r)
{
    c.erase(r.first, r.second);
}

template 
<typename Container>
inline void ordered_erase(Container
& c, 銆typename Container::value_type const& t)
{
    erase_range(c, std::equal_range(c.begin(), c.end(), t));
}

template 
<typename Container, typename T, typename Cmp>
inline void ordered_erase(Container
& c, T const& t, Cmp cmp)
{
    erase_range(c, std::equal_range(c.begin(), c.end(), t, cmp));
}

銆銆鏌ユ壘鍙氳繃binary_search, lower_bound, upper_bound, 鎴栬卐qual_range瀹炵幇銆傚鏋滆瀹炵幇綾諱技map鐨勫叧閿瓧鎼滅儲錛屾湁涓涓妧宸э紝灝辨槸鐢ㄦ瘮杈冨嚱鏁拌繘琛岄噸杞斤紝姣斿瀛︾敓瑕佹寜瀛﹀彿鏌ユ壘錛屽垯鐢ㄤ互涓嬪畾涔夛細
struct Student
{
    
int            id;
    std::
string name;

    struct LessThan
    {
        bool operator() (Student 
const& x, Student const& y)
        {
            return x.id 
< y.id;
        }

        bool operator() (Student 
const& x, int id)
        {
            return x.id 
< id;
        }

        bool operator() (
int id, Student const& y)
        {
            return id 
< y.id;
        }
    };
};

鏌ユ壘瀛﹀彿涓?鐨勫鐢燂細
std::vector<Student> students;

bool exist = std::binary_search(students.begin(), students.end(), 5, Student::LessThan());

鍒犻櫎瀛﹀彿涓?鐨勫鐢燂細
ordered_erase(students, 5, Student::LessThan());



eXile 2008-01-29 13:13 鍙戣〃璇勮
]]>
鎮寕鎸囬拡涓巄oost::weak_ptrhttp://m.shnenglu.com/eXile/archive/2007/10/11/33936.htmleXileeXileThu, 11 Oct 2007 03:49:00 GMThttp://m.shnenglu.com/eXile/archive/2007/10/11/33936.htmlhttp://m.shnenglu.com/eXile/comments/33936.htmlhttp://m.shnenglu.com/eXile/archive/2007/10/11/33936.html#Feedback2http://m.shnenglu.com/eXile/comments/commentRss/33936.htmlhttp://m.shnenglu.com/eXile/services/trackbacks/33936.html 銆銆涓庡唴瀛樻硠闇茬浉姣旓紝C++鏈浠や漢澶寸棝鐨勯棶棰樻槸鍐呭瓨瓚婄晫錛岃屽唴瀛樿秺鐣屽緢澶氭儏鍐典笅鏄敱浜庢偓鎸傛寚閽堝紩璧風殑銆傘銆
銆銆鍋囪涓涓寚閽堝彉閲忥細
銆銆Object * ptr;
銆銆浣跨敤ptr鏃訛紝鎴戜滑闄や簡瑕佸垽鏂璸tr鏄惁涓?浠ュ錛岃繕瑕佹鐤戝畠鎸囧悜鐨勫璞℃槸鍚︽湁鏁堬紝鏄笉鏄凡緇忓湪鍒殑鍦版柟琚攢姣佷簡銆傛垜浠笇鏈涘綋瀹冩寚鍚戠殑瀵硅薄琚攢姣佹椂錛宲tr琚嚜鍔ㄧ疆涓?銆?br>銆銆鏄劇劧錛孋++娌℃湁榪欑鏈哄埗錛屼絾鏄紝鍙互鍊熷姪浜巄oost::weak_ptr鍋氬埌榪欎竴鐐廣?br>

inline void null_deleter(void const *
{
}

class X
{
private:

    shared_ptr
<X> this_;
    
int i_;

public:

    
explicit X(int i): this_(this, &null_deleter), i_(i)
    {
    }

    X(X 
const & rhs): this_(this, &null_deleter), i_(rhs.i_)
    {
    }

    X 
& operator=(X const & rhs)
    {
        i_ 
= rhs.i_;
    }

    weak_ptr
<X> weak_this() const { return this_; }
};


 

瀹氫箟鍙橀噺錛?br>weak_ptr<X> ptr = x.weak_this();  // x涓轟竴涓猉 瀵硅薄 

鍒欏綋 x 琚攢姣佹椂錛宲tr 琚嚜鍔ㄧ疆涓烘棤鏁堛備嬌鐢ㄦ柟娉曞涓嬶細

if ( shard_ptr<X>  safePtr  = ptr.lock() )  safePtr->do_something();

榪欑鍔炴硶鐢ㄤ簬鍗曠嚎紼嬩腑錛屽洜涓?x  瀵硅薄鍙兘鏄熀浜庢爤鍒嗛厤鐨勩傚鏋滈渶瑕佸湪澶氱嚎紼嬩腑璁塊棶X瀵硅薄錛岄偅涔堟渶濂界殑鍔炴硶榪樻槸浣跨敤shared_ptr 鏉ョ鐞嗗璞$殑鐢熷懡鏈熴傝繖鏍風殑璇濓紝瀵逛簬safePtr, 鍙互淇濊瘉鍦?safePtr 鐨勭敓鍛芥湡鍐咃紝瀹冩墍鎸囧悜鐨勫璞′笉浼氳鍏跺畠綰跨▼鍒犻櫎銆?br>

eXile 2007-10-11 11:49 鍙戣〃璇勮
]]>
欧美日韩精品久久久免费观看| 精品国产乱码久久久久久人妻| 久久精品黄AA片一区二区三区| 久久综合久久自在自线精品自 | 精品一二三区久久aaa片| 欧美日韩精品久久久免费观看| 久久久久久毛片免费播放| 成人午夜精品久久久久久久小说| 久久久久久国产精品无码下载 | 色8久久人人97超碰香蕉987| 蜜臀久久99精品久久久久久小说 | 久久A级毛片免费观看| 久久99精品久久久久久9蜜桃| 亚洲日本va午夜中文字幕久久| 久久香蕉国产线看观看精品yw | 欧美午夜A∨大片久久 | 亚洲国产精品成人AV无码久久综合影院| 伊人久久大香线蕉综合热线| 久久久中文字幕| 亚洲成色www久久网站夜月| 久久最新精品国产| 久久久久久久久久久久中文字幕| 久久综合九色综合久99| 亚洲国产精品一区二区久久| 伊人色综合久久天天人手人婷| 污污内射久久一区二区欧美日韩| 99精品国产在热久久| 亚洲狠狠婷婷综合久久久久| 亚洲精品国产第一综合99久久| 天天综合久久久网| 久久久综合九色合综国产| 久久久久成人精品无码中文字幕 | 人妻精品久久久久中文字幕| 91麻精品国产91久久久久| 成人久久久观看免费毛片 | 国产精品丝袜久久久久久不卡| 少妇人妻88久久中文字幕| 无码精品久久久久久人妻中字| 久久影院久久香蕉国产线看观看| 久久99精品免费一区二区| 精品久久久久久久中文字幕|