锘??xml version="1.0" encoding="utf-8" standalone="yes"?>黑人一区二区三区四区五区,欧美一级久久久,亚洲在线成人http://www.shnenglu.com/yearner/category/4821.html鏅烘収闇瑕佺偣婊寸殑縐瘡zh-cnThu, 20 Nov 2008 17:57:44 GMTThu, 20 Nov 2008 17:57:44 GMT60 Quoted printable 緙栫爜璇存槑http://www.shnenglu.com/yearner/archive/2008/11/20/67421.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:46:00 GMThttp://www.shnenglu.com/yearner/archive/2008/11/20/67421.htmlhttp://www.shnenglu.com/yearner/comments/67421.htmlhttp://www.shnenglu.com/yearner/archive/2008/11/20/67421.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/67421.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/67421.html

3.2      Quoted printable 緙栫爜

         QP 緙栫爜鐢ㄤ簬琛ㄧず鍚湁澶ч噺瀵瑰簲鍙墦鍗板瓧絎︾殑鏁扮粍錛岃繖縐嶇紪鐮佹柟寮忎嬌瀛楃鍗曞厓鍦ㄤ紶杈撹繃紼嬩腑琚洿鏀圭殑鍙兘鎬у緢灝忋傚鏋滄鍦ㄧ紪鐮佺殑鏁版嵁澶ч儴鍒嗘槸ASCII鏂囨湰錛岄偅涔堢紪鐮佸悗鐨勫艦寮忓叿鏈夊緢楂樼殑鍙鎬с備竴涓畬鍏ㄦ槸ASCII鍊肩殑姝f枃鏁版嵁鐢?/span>QP緙栫爜鍚庡彲浠ヤ繚璇佹暟鎹湪瀛楃緲昏瘧鎴栫粡鐢辯綉鍏蟲(chóng)椂鏁版嵁鐨勫畬鏁存с?/span>

       緙栫爜瑙勫垯濡備笅錛?/span>

       瑙勫垯1錛?/span>(涓鑸?/span>8浣嶇粍鐨勮〃紺烘柟寮?/span>), 浠諱綍鐨勫叓浣嶇粍錛岄兘鍙互鐢?/span>”=”鍚庡姞璇ュ叓浣嶇粍鐨?/span>16榪涘埗鍊兼潵琛ㄧず錛岄櫎浜?jiǎn)閭d簺鏍规嵁鏁版嵁缂栫爜瑙勮寖涓柊琛岀殑鎯緥鏉ユ寚瀹氱煭琛岀殑琛ńC哄崟浣嶃傚繀欏葷敤澶у啓瀛楁瘝銆傛瘮濡傚兼槸12 錛屽垯琛ㄧず涓?/span>”=0C”銆?/span>

       瑙勫垯2錛?/span>(鏂囧瓧琛ㄧず)鍊煎湪33-60 錛屼互鍙?/span>62-126鐨勫叓浣嶇粍(鍖呭惈澶村熬鍊?/span>)錛屽彲浠ヨ〃紺烘垚閭d簺鍏綅緇勫搴旂殑ASCII瀛楃銆?/span>

       瑙勫垯3錛?/span>(絀烘牸) 鍊兼槸9鍜?/span>32鐨勫叓浣嶇粍鍙互鍒嗗埆琛ㄧず涓?/span>ASCII 鐨?/span>TAB鍜?/span>SPACE鍊鹼紝浣嗘槸涓嶅彲浠ュ嚭鐜板湪緙栫爜琛岀殑鏈熬銆備換浣曞湪緙栫爜琛岀殑TAB鎴?/span>SPACE瀛楃蹇呴』鍚庨潰鏈夊彲鎵撳嵃瀛楃鍑虹幇銆傜壒孌婃儏鍐典笅錛岀紪鐮佽鐨勬湯灝懼嚭鐜扮殑”=”錛岃〃紺烘柇琛岋紝鍏跺墠闈㈠彲鑳芥槸涓涓垨澶氫釜TAB鎴?/span>SPACE銆?/span> 瀹炶榪欐潯瑙勫垯鐨勫師鍥犳槸涓浜?/span>METs(Message Transport Agents-娑堟伅浼犺緭鍗曞厓)浼?xì)鍦ㄦ枃鏈湯灏捐ˉ涓?/span>SPACE錛屽洜姝わ紝瑙g爜鏃訛紝浠諱綍璺熷湪琛屽悗鐨勭┖鏍煎繀欏誨垹闄ゃ?/span>

       瑙勫垯4錛?/span>(鏂)鍦ㄥ師鏂囦腑鐨勬柇琛屽繀欏昏〃紺烘垚鍗忚涓殑鏂絎?/span>-CRLF搴忓垪錛?/span>"=0D=0A” 錛?/span>銆傜敱浜庨潪鏂囨湰綾誨瀷鐨勮鑼冭〃紺轟竴鑸笉鍖呮嫭鏂錛屾墍浠ヨ繖縐嶇被鍨嬬殑qp緙栫爜娌℃湁紜崲琛屻傞氬父錛?/span>base64緙栫爜鍦ㄤ簩榪涘埗緙栫爜涓婃洿鍗犱紭鍔褲?/span>

       瑙勫垯5錛?/span>(杞崲琛?/span>)QP緙栫爜瑕佹眰緙栫爜鍚庢瘡琛屼笉鑳借秴榪?/span>76涓瓧絎︺傚綋瓚呰繃榪欎釜闄愬埗鏃訛紝灝嗛傜敤杞崲琛岋紝鐢?/span>”=”琛ㄧず緙栫爜琛岀殑鏂錛屽悗鎺?/span>CRLF銆傦紙76鐨勯檺鍒跺寘鎷?/span>”=”錛夈?/span>

      



(Leyn)欏戒富 2008-11-20 21:46 鍙戣〃璇勮
]]>
Base 64 緙栫爜璇存槑http://www.shnenglu.com/yearner/archive/2008/11/20/67418.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:45:00 GMThttp://www.shnenglu.com/yearner/archive/2008/11/20/67418.htmlhttp://www.shnenglu.com/yearner/comments/67418.htmlhttp://www.shnenglu.com/yearner/archive/2008/11/20/67418.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/67418.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/67418.html闃呰鍏ㄦ枃

(Leyn)欏戒富 2008-11-20 21:45 鍙戣〃璇勮
]]>
MIME閭歡鏍煎紡璇存槑http://www.shnenglu.com/yearner/archive/2008/11/20/67417.html(Leyn)欏戒富(Leyn)欏戒富Thu, 20 Nov 2008 13:44:00 GMThttp://www.shnenglu.com/yearner/archive/2008/11/20/67417.htmlhttp://www.shnenglu.com/yearner/comments/67417.htmlhttp://www.shnenglu.com/yearner/archive/2008/11/20/67417.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/67417.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/67417.html闃呰鍏ㄦ枃

(Leyn)欏戒富 2008-11-20 21:44 鍙戣〃璇勮
]]>
[杞?]嫻呰皥C++鐨勬櫤鑳芥寚閽?http://www.shnenglu.com/yearner/archive/2008/11/09/66447.html(Leyn)欏戒富(Leyn)欏戒富Sun, 09 Nov 2008 12:43:00 GMThttp://www.shnenglu.com/yearner/archive/2008/11/09/66447.htmlhttp://www.shnenglu.com/yearner/comments/66447.htmlhttp://www.shnenglu.com/yearner/archive/2008/11/09/66447.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/66447.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/66447.html嫻呰皥C++鐨勬櫤鑳芥寚閽?/h1>
鍐呭瓨娉勯湶鏄疌++紼嬪簭鍛橀兘澶寸柤鐨勫ぇ闂銆侰++緙轟箯鍍廕AVA銆丆#涓鏍鳳紝鎷ユ湁GC榪欎箞涓欏規(guī)湁鍒╃殑姝﹀櫒錛屽畠?yōu)畣鍐呭瓨绠$悊鐨勯儴鍒?span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=鏉冮檺',this.id)" style="border-bottom: 1px solid #fa891b; cursor: pointer;" id="rlt_2">鏉冮檺浜ょ粰浜?jiǎn)绋嬪簭鍛樸傝櫧鐒禛C鐨勫瓨鍦ㄨ妭綰︿簡(jiǎn)寮鍙戙佹帓閿欑殑鏃墮棿涓庢垚鏈紝浣嗘槸C++涓轟簡(jiǎn)榪芥眰榪愯閫熷害鑰?0騫存潵鍧氬喅涓嶄簣琛ュ厖榪涘叾鏍囧噯銆傦紙棰樺璇濓細(xì)C++閫氳繃鍔犲ぇ寮鍙戦毦搴﹀幓鎹㈠彇鎵ц閫熷害鐨勫仛娉曪紝鍦ㄧ幇鍦ㄧ湅鏉ヤ笉鐭ユ槸鍚﹁兘緇欎笌姝i潰鐨勮瘎浠鳳紝榪樻槸鐣欑粰灝嗘潵鍐嶈鍚с傦級(jí)

  浠庢錛屽湪鍫嗕笂鐢寵浜?jiǎn)鍐呭瓨蹇樹(shù)簡(jiǎn)閲婃斁銆佹墍閫犳垚鐨勫唴瀛樻硠闇茬殑闂灝變竴鐩村洶鎵扮潃C++紼嬪簭鍛樸備篃璁鎬負(fù)浜?jiǎn)绋嶈遄I琛ユ病鏈夊瀮鍦懼洖鏀跺櫒鎵閫犳垚鐨勫紑鍙戦棬妲涢珮錛屽悇澶у巶鍟嗗紑鍙戠殑C++搴撲腑閮藉儚COM瀛︿範(fàn)寮曞叆鏅鴻兘鎸囬拡璇曞浘瑙e喅閮ㄥ垎鐩墠瀛樺湪鐨勯棶棰樸?br>
  鏅鴻兘鎸囬拡鏄瓨鍌ㄦ寚鍚戝姩鎬佸垎閰嶏紙鍫嗭級(jí)瀵硅薄鎸囬拡鐨勭被, 鐢ㄤ簬鐢熷瓨鏈熸帶鍒? 鑳藉紜繚鑷姩姝g‘鐨勯攢姣佸姩鎬佸垎閰嶇殑瀵硅薄錛岄槻姝㈠唴瀛樻硠闇層傚畠鐨勪竴縐嶉氱敤瀹炵幇鎶鏈槸浣跨敤寮曠敤璁℃暟(reference count)銆傛櫤鑳芥寚閽堢被灝嗕竴涓鏁板櫒涓庣被鎸囧悜鐨勫璞$浉鍏寵仈錛屽紩鐢ㄨ鏁拌窡韙綾繪湁澶氬皯涓璞″叡浜悓涓鎸囬拡銆傛瘡嬈″垱寤虹被鐨勬柊瀵硅薄鏃訛紝鍒濆鍖栨寚閽堝茍灝嗗紩鐢ㄨ鏁? 緗負(fù)1錛涘綋瀵硅薄浣滀負(fù)鍙︿竴瀵硅薄鐨勫壇鏈屽垱寤烘椂錛屾嫹璐濇瀯閫犲嚱鏁版嫹璐濇寚閽堝茍澧炲姞涓庝箣鐩稿簲鐨勫紩鐢ㄨ鏁幫紱瀵逛竴涓璞¤繘琛岃祴鍊兼椂錛岃祴鍊兼搷浣滅鍑忓皯宸︽搷浣滄暟鎵鎸囧璞$殑寮? 鐢ㄨ鏁幫紙濡傛灉寮曠敤璁℃暟涓哄噺鑷?錛屽垯鍒犻櫎瀵硅薄錛夛紝騫跺鍔犲彸鎿嶄綔鏁版墍鎸囧璞$殑寮曠敤璁℃暟錛涜皟鐢ㄦ瀽鏋勫嚱鏁版椂錛屾瀯閫犲嚱鏁板噺灝戝紩鐢ㄨ鏁幫紙濡傛灉寮曠敤璁℃暟鍑忚嚦0錛屽垯鍒犻櫎鍩? 紜瀵硅薄錛夈?br>
  璇村埌鏅鴻兘鎸囬拡錛屾垜浠竴瀹氳鐪嬬湅鏍囧噯C++搴撴彁渚涚殑“鎼炵瑧鐨?#8221;鏅鴻兘鎸囬拡:auto_ptr銆?br>
  鏍囧噯搴撲腑鎻愪緵浜?jiǎn)C++紼嬪簭鐨勫熀鏈鏂姐傝櫧鐒禖++鏍囧噯搴撻殢鐫C++鏍囧噯鎶樿吘浜?jiǎn)璁稿骞村Q岀洿鍒版爣鍑嗙殑鍑哄彴鎵嶆寮忓畾鍨嬶紝緗戜笂璇勮C++鏍囧噯搴撴椂閮借錛?#8220;鍦ㄦ爣鍑嗗簱 鐨勫疄鐜頒笂鍗村緢浠や漢嬈f叞寰楃湅鍒板縐嶅疄鐜幫紝騫朵笖宸茶瀹炶返璇佹槑涓烘湁宸ヤ笟綰у埆寮哄害鐨勪匠浣溿?#8221;浣嗙洰鍓嶇殑鏍囧噯C++涓紝鍙湁涓縐嶇嫭鑻楁櫤鑳芥寚 閽堬細(xì)std::auto_ptr銆?br>
  auto_ptr鎸囬拡鏄竴涓猂AII瀵硅薄,瀹冨垵濮嬪寲鏃惰幏寰楄祫婧?鏋愭瀯鏃惰嚜鍔ㄩ噴鏀捐祫婧?鐢熷懡鏈熺粨鏉?.瀹冪殑緙虹偣鏁頒笉鑳滄暟錛?br> 1銆乤uto_ptr瑕佹眰涓涓璞″彧鑳芥湁涓涓嫢鏈夎咃紝涓ョ涓鐗╀簩涓?br> 2銆佺己灝戝寮曠敤鏁板拰鏁扮粍鐨勬敮鎸併?br> 3銆佷笉鍙皢auto_ptr瀵硅薄浣滀負(fù)STL瀹瑰櫒鐨勫厓绱犮侰++鏍囧噯鏄庣‘紱佹榪欐牱鍋氾紝鍚﹀垯鍙兘浼?xì)纰板堫C笉鍙瑙佺殑緇撴灉銆傦紙榪欎竴鏉℃檿姝諱竴澶х墖錛夈?br>4銆乤uto_ptr鍦ㄨ澶嶅埗鐨勬椂鍊欎細(xì)浼犺緭鎵鏈夋潈

鍙嶆鐢辨鍙錛氭爣鍑嗗簱鐨勬櫤鑳芥寚閽堝氨鏄棤鐢氬ぇ鐢ㄣ?br>
    鍦ㄨ繖鏍風(fēng)殑鎯呭喌涓嬶紝C++鏍囧噯濮斿憳?shù)細(xì)鑷剦櫆瑕佽冭檻寮曞叆鏂扮殑鏅鴻兘鎸囬拡銆傜洰鍓嶇敱C++鏍囧噯濮斿憳?shù)細(xì)搴撳伐浣溇l勫彂璧風(fēng)殑Boost 緇勭粐寮鍙戜簡(jiǎn)Boost緋誨垪鏅鴻兘鎸囬拡銆?br>
  鍦˙oost涓殑鏅鴻兘鎸囬拡鏈変簲縐嶏細(xì) scoped_ptr錛宻coped_array錛宻hared_ptr錛宻hared_array錛寃eak_ptr.

鍓?縐嶅畬鍏ㄦ槸閽堝鏍囧噯搴撲腑鐨刟uto_ptr鎻愬嚭瑙e喅鏂規(guī)錛屽錛歴cope_ptr鏄拡瀵?#8220;auto_ptr鍦ㄨ澶嶅埗鐨勬椂鍊欎細(xì)浼犺緭鎵鏈夋潈”榪欎竴寮辯偣鎻愬嚭鐨勩傛渶鍚庝竴縐嶆病瑙佽繃錛岀湅鍚嶅瓧鍍忔槸寮卞紩鐢ㄦ櫤鑳芥寚閽堬紝鎴戞鐤?span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=鏄笉鏄?,this.id)" style="border-bottom: 1px solid #fa891b; cursor: pointer;" id="rlt_3">鏄笉鏄?/span>綾諱技浜嶫AVA涓急寮曠敤涓鏍?鏈夊緟榪涗竴姝ュ涔?fàn)銆?/div>

]]>[杞琞C++涓殑鎸囬拡--鏅鴻兘鎸囬拡http://www.shnenglu.com/yearner/archive/2008/11/09/66445.html(Leyn)欏戒富(Leyn)欏戒富Sun, 09 Nov 2008 12:37:00 GMThttp://www.shnenglu.com/yearner/archive/2008/11/09/66445.htmlhttp://www.shnenglu.com/yearner/comments/66445.htmlhttp://www.shnenglu.com/yearner/archive/2008/11/09/66445.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/66445.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/66445.htmlSmart Pointer鏄?a class="channel_keylink">C++涓殑涓涓ぇ棰樼洰錛岃璇存竻妤氫粬鐨勬墍鏈夊ソ澶勫緢闇瑕佽垂鐐瑰姏姘斻傛垜灝變竴涓姛鑳戒竴涓姛鑳界殑璇淬傛湁鎴戠悊瑙d笉閫忕殑鍦版柟甯屾湜澶у鎸囩偣銆?br>
1.copy-to-write
褰撶敓鎴愪竴涓?a class="channel_keylink">C++ object鐨勬椂鍊欏鏋滆繖涓猚lass寰堝ぇ錛岃繖涓猳bject浼?xì)鍗犵敤寰堝绌洪棿銆傞偅涔堟瘡鐢熸垚涓涓氨鍗犵敤涓鐗囩┖闂達(dá)紝榪欐牱浼?xì)鍗犵敤寰堝绯痪l熻祫婧愩傚悓鏃墮檷浣庢晥鐜囥備竴涓В鍐蟲(chóng)柟娉曞氨鏄鐢ㄦ嫹璐濇瀯閫?a class="channel_keylink">鍑芥暟鐢熸垚鐨刼bject錛岃浠栦笉瀛樺偍鏁版嵁錛岃屽彧瀛樺偍涓涓寚鍚戝師鏉bject鏁版嵁鐨?a class="channel_keylink">鎸囬拡銆?榪欐牱絀洪棿灝辮妭鐪佷簡(jiǎn)寰堝銆備絾闂鍦ㄤ簬榪欐牱涓や釜object瀹屽叏鑱旂粨鍦ㄤ簡(jiǎn)涓璧楓傚鏋滀慨鏀逛簡(jiǎn)鍏朵腑涓涓紝鍙︿竴涓篃璺熺潃鍙樹(shù)簡(jiǎn)銆傛墍浠ヨ繖縐嶆柟娉曚笉鍙彇銆傝繖閲岃鐨?copy-to-write鎶鏈氨鏄В鍐寵繖綾婚棶棰樼殑鏂規(guī)硶銆傚綋閫氳繃寮曠敤涓涓凡鏈塷bject鍘繪嫹璐濇瀯閫犳柊object鏃訛紝鏂皁bject鍙湁涓涓寚鍚戝凡鏈?object鐨?a class="channel_keylink">鎸囬拡銆? 榪欎袱涓猳bject鍏變韓鏁版嵁銆傜洿鍒板叾涓竴涓渶瑕佷慨鏀規(guī)暟鎹殑鏃跺欙紝鍐嶆妸榪欎袱鍧楁暟鎹垎紱匯傝繖閲屼婦涓涓渶綆鍖栫殑渚嬪瓙銆傚亣璁句竴涓猚lass鍙? CLargeObject錛岄噷闈㈠瓨鏈夊緢澶氭暟鎹傛垜浠敤涓涓猧nner class鏉ユ妸鎵鏈夋暟鎹斁鍦ㄤ竴璧鳳紝鍙獵Data銆侰Data閲岄潰瀛樻湁澶ч噺鏁版嵁錛屼緥濡備竴涓?a class="channel_keylink">鏁版嵁搴?/a>銆傝繖閲岀敤鏈綆鍗曠殑妯″瀷鏉ヨ〃紺猴紝鍋囪鍙湁涓涓暣鏁癷nt m_nVal; CData閲岄潰闇瑕佸寘鍚彟涓涓彉閲忋傚彨浣滅儲(chǔ)寮曟暟鐩?reference count)銆傚畠璁板綍浜?jiǎn)鎸囧悜杩欎釜CData object鐨勬潵鑷狢LargetObject綾葷殑鎸囬拡鍚勬暟銆備篃灝辨槸璇達(dá)紝鎬誨叡鏈夊灝慍LargeObject鐨刼bject姝e湪寮曠敤鐫褰撳墠鐨凜Data object銆?br>
class CLargeObject
{
private:
    struct CData
    {
    private:
        int m_nVal;
        int m_nReferenceCount;
    }
};

瀵逛簬姣忎釜CLargeObject鐨刼bject錛屾垜浠敤涓涓狢Data綾葷殑鎸囬拡鏉ユ寚鍚戝叾鏁版嵁銆?br>CData *m_pData;

CLargeObject鑷沖皯鏈変袱涓瀯閫?a class="channel_keylink">鍑芥暟銆傜涓涓槸鏍囧噯鐨勬瀯閫?a class="channel_keylink">鍑芥暟錛屽垵濮嬪寲鍏舵暟鎹傝繖鏃舵暟鎹槸鍞竴鐨勶紝鎵浠ュ繀欏繪柊鐢熸垚涓涓狢Data鐨刼bject鏉ュ瓨鍌ㄦ暟鎹?br>CLargeObject::CLargeObject(int nVal)
{
    m_pData = new Data(nVal);
}
鑰屽浜嶤Data綾葷殑鏋勯?a class="channel_keylink">鍑芥暟鑰岃█錛屽垵濮嬪寲浠栫殑CLargeObject鏄涓涓寚鍚戜粬鐨勶紝榪欎竴鏃跺埢绱㈠紩鏁扮洰m_nReferenceCount鏄?銆?br>CLargeObject::Data::Data(int nVal) : m_nVal(nVal), m_nReferenceCount(1) {}

CLargeObject鐨勭浜屼釜鏋勯?a class="channel_keylink">鍑芥暟鏄嫹璐濇瀯閫?copy constructor)銆傝繖鏍風(fēng)敓鎴愮殑object涓嶉渶瑕佹湁鏂扮殑鏁版嵁錛屽拰宸叉湁鐨刼bject鍏變韓鏁版嵁灝卞彲浠ヤ簡(jiǎn)銆傝繖鏄儲(chǔ)寮曟暟鐩渶瑕佸姞1銆傝〃紺哄張鏈変竴涓猳bject鎸囧悜褰撳墠鐨凜Data浜?jiǎn)銆?br>CLargeObject::CLargeObject(const CLargeObject &ob) // copy constructor
{
    ob.m_pData->m_nReferenceCount++;
    m_pData = ob.m_pData;
}


榪欐牱CLargeObject灝辨瀯閫犲ソ浜?jiǎn)锛屼娇鐢ㄤ簡(jiǎn)鍙兘鐨勬渶灝戠殑鍐呭瓨銆備笅闈㈢湅鐪嬩粬鐨勬瀽澶?a class="channel_keylink">鍑芥暟(destructor)銆傚綋涓涓猳bject琚玠elete鐨勬椂鍊欙紝瀹冪殑鏁版嵁涓嶄竴瀹氭棤鏁堬紝濡傛灉鍒殑object榪樺湪寮曠敤鐫榪欎釜鏁版嵁錛屾暟鎹渶瑕佺暀涓嬫潵銆傚綋鐒?dòng)灱屾暟鎹殑鐑?chǔ)寮曟暟鐩棤璁哄浣曢兘瑕佸噺1銆?br>CLargeObject::~CLargeObject()
{
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
}

涓嬮潰鐪嬩竴鐪嬭祴鍊兼搷浣溿傚厛璇寸敤宸叉湁鐨凜LargeObject璧嬪肩粰榪欎釜CLargeObject銆傝繖鏃跺綋鍓岰LargeObject閲岄潰鐨勬暟鎹鎸囧悜宸叉湁鐨勮繖涓猳bject錛屽氨鎼炲畾浜?jiǎn)銆?br>CLargeObject& CLargeObject::operator = (const CLargeObject& ob)    // copy assignment
{
    ob.m_pData->m_nReferenceCount++;
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
    m_pData = ob.m_pData;

    return *this;
}

鍐嶆潵鐪嬬湅濡備綍瀵笴LargeObject閲岄潰鐨勬暟鎹繘琛岀湡姝g殑淇敼銆傝繖鏍峰氨涓瀹氶渶瑕佸褰撳墠鐨刼bject鐙珛鎿嶄綔浜?jiǎn)锛屽惁鍒櫈濯?jiǎng)鍝嶅埌浜?jiǎn)鍏跺畠鎸囧悜鍚屼竴鍧楁暟鎹殑CLargeObject銆傝繖鏍稢Data綾婚渶瑕佷竴涓柊鐨?a class="channel_keylink">鍑芥暟錛岀敓鎴愬彧鐢ㄤ簬褰撳墠CLargetObject鐨勬暟鎹傚鏋滃綋鍓嶇殑寮曠敤鏁扮洰鏄?錛岄偅涔堝綋鐒惰繖涓狢Data灝辨槸鍙敤浜庤繖涓狢LargeObject鐨勪簡(jiǎn)銆傚惁鍒欏氨閲嶆柊new涓涓狢Data榪斿洖銆?br>        Data* CLargeObject::CData::get_own_copy()    // clone if necessary
        {
            if (m_nReferenceCount==1)
                return this;
            m_nReferenceCount--;
            return new Data(m_nVal);
        }
CLargeObject淇敼鍓嶇敤榪欎釜鍑芥暟寰楀埌鍞竴鐨刼bject錛岀劧鍚庡瀹冭祴鍊箋?br>void CLargeObject::SetVal(int nNewVal)
{
    m_pData = m_pData->get_own_copy();
    m_pData->m_nVal = nNewVal;
}
瀵逛簬鎵鏈夊彲鑳芥敼鍙楥Data鍊肩殑鎿嶄綔錛岄兘闇瑕佺敤榪欑鏂規(guī)硶銆?br>
涓嬮潰鏄彧璇?a class="channel_keylink">鍑芥暟錛岀畝鍗曘傜洿鎺ヨ繑鍥炲鹼紝浠涔堢壒孌婄殑閮戒笉鐢ㄤ綔銆?br>int CLargeObject::GetVal() const
{
    return m_pData->m_nVal;
}


榪欐牱copy-to-write鎶鏈氨瀹炵幇浜?jiǎn)銆備笅闈㈡妸瀹屾暣鐨勭▼搴忓啓涓涓嬶細(xì)
class CLargeObject
{
public:
    CLargeObject(int nVal);
    CLargeObject(const CLargeObject &ob);
    ~CLargeObject();

    CLargeObject& operator = (const CLargeObject& ob);
    void SetVal(int nNewVal);
    int GetVal() const;
private:
    struct Data
    {
    public:
        Data(int nVal) : m_nVal(nVal), m_nReferenceCount(1) {}
    private:
        friend class CLargeObject;
        Data* get_own_copy()    // clone if necessary
        {
            if (m_nReferenceCount==1)
                return this;
            m_nReferenceCount--;
            return new Data(m_nVal);
        }

        // control variables.
        int m_nReferenceCount;
    
        // actual data portion
        int m_nVal;
    };

    Data *m_pData;
};

CLargeObject::CLargeObject(int nVal)
{
    m_pData = new Data(nVal);
}

CLargeObject::CLargeObject(const CLargeObject &ob) // copy constructor
{
    ob.m_pData->m_nReferenceCount++;
    m_pData = ob.m_pData;
}

CLargeObject::~CLargeObject()
{
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
}

CLargeObject& CLargeObject::operator = (const CLargeObject& ob)    // copy assignment
{
    ob.m_pData->m_nReferenceCount++;
    if (--m_pData->m_nReferenceCount == 0)
        delete m_pData;
    m_pData = ob.m_pData;

    return *this;
}

void CLargeObject::SetVal(int nNewVal)
{
    m_pData = m_pData->get_own_copy();
    m_pData->m_nVal = nNewVal;
}

int CLargeObject::GetVal() const
{
    return m_pData->m_nVal;
}


寰堝瀛樺偍鏁版嵁鐨勭郴緇焎lass錛屽string錛孋String絳夐兘鏈夎繖縐嶈璁°傛墍浠ヨ浣忚繖涓簲鐢ㄦ槸寰堟湁蹇呰鐨勩?/p>

]]>
[杞琞鍒╃敤Rational Rose榪涜C++浠g爜鍜屾暟鎹簱緇撴瀯鍒嗘瀽http://www.shnenglu.com/yearner/archive/2008/10/28/65350.html(Leyn)欏戒富(Leyn)欏戒富Tue, 28 Oct 2008 09:36:00 GMThttp://www.shnenglu.com/yearner/archive/2008/10/28/65350.htmlhttp://www.shnenglu.com/yearner/comments/65350.htmlhttp://www.shnenglu.com/yearner/archive/2008/10/28/65350.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/65350.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/65350.html 鍒╃敤Rational Rose榪涜C++浠g爜鍜屾暟鎹簱緇撴瀯鍒嗘瀽
鐢?闇囨澃, IBM 涓浗杞歡寮鍙戜腑蹇?jī)枋Y浠跺伐紼嬪笀

鏈枃鍐呭鍖呮嫭:
涓錛嶳ational Rose閫嗗悜宸ョ▼浠嬬粛
浜岋紟濡備綍鐢≧ational Rose榪涜C++浠g爜鍒嗘瀽
涓夛紟濡備綍鐢≧ational Rose榪涜鏁版嵁搴撶粨鏋勫垎鏋?/font>
鍥涳紟濡備綍寰楀埌閫嗗悜宸ョ▼鐨勬ā鍨嬪浘
浜旓紟鎬葷粨
娉ㄩ噴

銆Rational Rose鏄埄鐢║ML錛堢粺涓寤烘ā璇█錛夎繘琛屽垎鏋愬拰璁捐闈㈠悜瀵硅薄杞歡緋葷粺鐨勫己澶х殑鍙鍖栧伐鍏鳳紝鍙互榪涜欏圭洰闇姹傚垎鏋愩佺粨鏋勮鍒掑拰鐢熸垚妗嗘灦浠g爜錛岃繕鍙互鏀寔浠庣幇鏈夌郴緇熼嗗悜杞嚭宸ョ▼浠g爜錛岀敓鎴怰ose妯″瀷鐨勫姛鑳姐?br>2004騫?0鏈堬紝IBM鎺ㄥ嚭浜?jiǎn)鏀寔鏈鏂扮殑UML2.0鐨勫彲瑙嗗寲寤烘ā宸ュ叿 Rational Software Architect錛堣娉ㄩ噴鈶狅級(jí) 鍜孖BM Rational Software Modeler錛堣娉ㄩ噴鈶★級(jí)銆傝櫧鐒跺畠浠敮鎸佸湪寤烘ā鍔熻兘涓婃湁浜?jiǎn)鏇村ソ鐨勬敼杩涖佹敮鎸佷簡(jiǎn)鏇存柊鐨勬爣鍑嗭紝浣嗘槸RSA鐨勭簿褰╁姛鑳戒富瑕佹槸闆嗕腑鍦ㄥJava搴旂敤鐨勬敮鎸侊紝鑰孖BM Rational Software Modeler鍒欐槸涓昏鍏蟲(chóng)敞緋葷粺鐨勬ā鍨嬭璁★紝濡傛灉瑕佷粠緇撴瀯涓婂垎鏋怌++緙栧啓鐨勭郴緇熺殑浠g爜錛孯ational Rose榪樻槸棣栭夌殑宸ュ叿銆?/p>

鎺ヤ笅鏉ョ殑鏂囩珷灝嗕細(xì)瀵瑰浣曞埄鐢≧ational Rose 鐨勯嗗悜杞嚭宸ョ▼鏉ヨ繘琛岀郴緇熷垎鏋愯繘琛屾洿鍔犺緇嗗湴闃愯堪銆?/p>

涓錛嶳ational Rose閫嗗悜宸ョ▼浠嬬粛

閫嗗悜宸ョ▼錛圧everse Engineer錛夊氨鏄粠鐜版湁緋葷粺鐨勪唬鐮佹潵鐢熸垚妯″瀷鐨勫姛鑳姐傚垎鏋愬凡鏈夌殑浠g爜鍏朵富瑕佺殑鐩殑灝辨槸浜?jiǎn)瑙d唬鐮伨l撴瀯鍜屾暟鎹粨鏋勶紝榪欎簺瀵瑰簲鍒版ā鍨嬪浘灝辨槸綾誨浘銆佹暟鎹ā鍨嬪浘鍜岀粍浠跺浘錛堝UML鍚勭妯″瀷鍥劇殑鎻忚堪瑙佹敞閲娾憿錛夛紝涔熷氨鏄氳繃Rational Rose鐨勯嗗悜宸ョ▼鎵寰楀埌鐨勭粨鏋溿俁ational Rose鎵鏀寔鐨勯嗗悜宸ョ▼鍔熻兘寰堝己澶э紝鍖呮嫭鐨勭紪紼嬭璦鏈塁++, VB, VC, Java, CORBA錛屼互鍙?qiáng)鏁版嵁搴揇DL鑴氭湰絳夌瓑錛屽茍涓斿彲浠ョ洿鎺ヨ繛鎺B2, SQLServer, Oracle鍜孲ybase絳夋暟鎹簱瀵煎叆Schema騫剁敓鎴愭暟鎹ā鍨嬨?/p>

寰堝澶у瀷鐨凜++寮鍙戠殑浜у搧閮芥秹鍙?qiáng)鍒版暟鎹簱鐨勪娇鐢ㄥQ屽榪欑澶у瀷緋葷粺鐨勫紑鍙戯紝灝ゅ叾鏄仛浜屾寮鍙戠殑鎯呭喌涓嬶紝涓昏鐨勯毦鐐瑰氨鏄婧愮爜鍜屾暟鎹簱緇撴瀯鐨勫垎鏋愩傝屽埄鐢≧ose鐨勯嗗悜宸ョ▼榪欎竴鍔熻兘錛屽氨鍙互瀹屾垚浠g爜'綾誨浘浠ュ強(qiáng)鏁版嵁搴揝chema->鏁版嵁妯″瀷鍥劇殑杞崲錛岃В鍐寵繖涓ゅぇ闅劇偣錛屽彲浠ヤ嬌寮鍙戝拰璁捐浜哄憳鍦ㄥ榪欑澶у瀷緋葷粺鐨勫崌綰с佸垎鏋愬拰寮鍙戜腑錛屾洿涓烘柟渚褲佸揩鎹楓佹湁鏉$悊鍦版帉鎻$郴緇熺粨鏋勶紝涓嶇敤鍐嶄負(fù)鍒嗘瀽搴炲ぇ鐨勭郴緇熺粨鏋勮屽ご鐤箋?/p>

浜岋紟濡備綍鐢≧ational Rose榪涜C++浠g爜鍒嗘瀽

榪欎竴鑺備富瑕佷粙緇嶇敤鎴峰浣曚嬌鐢≧ose鐨勯嗗悜宸ョ▼鐢熸垚UML妯″瀷錛屽茍鐢ㄦ潵榪涜C++浠g爜鐨勭粨鏋勫垎鏋愩?/p>

Rational Rose鍙互鏀寔鏍囧噯C++鍜孷isual C++鐨勬ā鍨嬪埌浠g爜鐨勮漿鎹互鍙?qiáng)閫嗗悜宸ョ▼銆備笅闈㈠皢璇︾粏鍦拌鏄庤繖涓ょC++ project鐨勯嗗悜宸ョ▼鐨勬楠ゅ拰鍏蜂綋鎿嶄綔銆?/p>

1錛?ANSI C++錛堟爣鍑咰++錛夐嗗悜宸ョ▼錛圧everse Engineer錛変嬌鐢ㄦ爣鍑咰++閫嗗悜宸ョ▼錛岄渶瑕佸湪緇勪歡鍥撅紙component view錛変腑鍒涘緩涓涓粍浠訛紙component錛夛紝璁劇疆濂介渶瑕佽繘琛岃漿鎹㈢殑緇勪歡鐨勪俊鎭紝涔熷氨鏄緇勪歡鐨勮璦銆佹墍鍖呭惈鐨勬枃浠躲佹枃浠舵墍鍦ㄧ殑璺緞銆佹枃浠跺悗緙絳夌瓑淇℃伅錛岀劧鍚嶳everse Engineer灝卞彲浠ユ牴鎹粰瀹氱殑淇℃伅灝嗕唬鐮佽漿鎹㈡垚綾誨浘浜?jiǎn)銆?/p>

a) 鍙抽敭鐐瑰嚮緇勪歡瑙嗗浘錛圕omponent View錛夛紝閫夋嫨New->Component錛屽垱寤轟竴涓柊鐨勭粍浠?br>銆

銆b) 灝哻omponent鐨刲anguage灞炴ц瀹氫負(fù)ANSI C++

鈶犻変腑鍒涘緩鐨刢omponent錛岀偣鍑誨彸閿紝閫変腑Open Specification

鈶″湪榪欎釜瀵硅瘽妗嗕腑灝嗚component鐨刲anguage璁懼畾涓篈NSI C++


c) 閰嶇疆璇NSI C++ component錛岃緗ソ璇omponent涓寘鍚殑C++浠g爜鏂囦歡錛屽茍榪涜C++璇█鐨勮緇嗚緗?/p>

鈶犻変腑璇omponent錛岀偣鍑誨彸閿紝閫夋嫨ANSI C++->Open ANSI C++ Specification


鈶℃妸Source file root directory璁懼畾涓轟綘鐨凜++婧愮爜鏂囦歡鎵鍦ㄧ殑璺緞錛屽茍涓斿皢闇瑕佽漿鎹㈢殑鏂囦歡娣誨姞鍒癙roject Files涓紝瑙嗕綘鐨勯渶瑕佹潵鍋氬叾瀹冪殑璁懼畾錛屾瘮濡傦細(xì)澶存枃浠舵墿灞曞悕絳夌瓑銆?/p>

d) 灝嗚緗ソ鐨刢omponent杞崲鎴愭ā鍨嬪浘

鈶犻変腑璁劇疆濂界殑component錛岀偣鍑誨彸閿紝閫変腑ANSI C++->Reverse Engineer



銆鈶¢変腑闇瑕佽漿鎹㈢殑class錛岀偣鍑籵k錛屼竴涓猚omponent鐨勯嗗悜杞崲灝卞畬鎴愪簡(jiǎn)銆?/p>



銆2錛?Visual C++ 鍦ㄤ嬌鐢ㄨ繖涓姛鑳界殑鏃跺欙紝瑕佹眰鐢ㄦ埛鐨勬満鍣ㄤ笂鍚屾椂瀹夎Visual Studio銆俈isual C++鐨勯嗗悜宸ョ▼涔熼渶瑕侀鍏堝垱寤轟竴涓猚omponent錛屽茍灝嗚component鐨刲anguage灞炴ц緗負(fù)VC++銆俁ational Rose瀵筕C++妯″瀷鐨勮漿鎹㈡槸閫氳繃璇誨彇VC++ Project File鐨勪俊鎭潵瀹炵幇鐨勶紝鐢ㄦ埛鍙渶瑕佸皢瀵瑰簲鐨刾roject file淇℃伅鎸囧畾緇檆omponent灝卞彲浠ヤ簡(jiǎn)銆?/p>

a) 灝哣C++ Project鐨勪俊鎭祴緇欏垰鍒氬垱寤哄ソ鐨刢omponent銆?/p>

鈶犻夋嫨璇omponent錛岀偣鍑誨彸閿紝閫夋嫨Assign To Project


鈶″湪瀵硅瘽妗嗕腑鎵懼埌鍒氬垰鍒涘緩鐨刢omponent錛屽彸閿偣鍑誨茍閫夋嫨Properties銆?/p>


鈶㈠湪涓嬮潰瀵硅瘽妗嗕腑閫変腑闇瑕佽繘琛岃漿鎹㈢殑Project錛岀偣鍑籵k錛岃component灝變笌闇瑕佽漿鎹㈢殑project鍏寵仈涓婁簡(jiǎn)銆?/p>



銆b) 灝嗚緗ソ鐨刢omponent杞崲鎴愭ā鍨嬪浘

閫変腑璁劇疆濂界殑component錛岀偣鍑誨彸閿紝Update Model…錛屽皢浼?xì)寮瑰嚭纭瀵硅瘽妗嗗Q岄変腑闇瑕佽漿鎹㈢殑class錛岀偣鍑籪inish灝卞彲浠ヤ簡(jiǎn)銆?/p>


涓夛紟濡備綍鐢≧ational Rose榪涜鏁版嵁搴撶粨鏋勫垎鏋?/strong>

鍒╃敤Rational Rose鍙互榪涜鍏崇郴鏁版嵁搴撶殑鏁版嵁妯″瀷璁捐騫跺鍑篋DL璇█鑴氭湰錛岀浉鍙嶈繕鍙互瀵煎叆宸叉湁鐨凞DL鑴氭湰鐢熸垚鏁版嵁妯″瀷浠ュ強(qiáng)榪炴帴SQLServer, DB2, Oracle絳夋暟鎹簱騫跺鍏ユ暟鎹簱鐨剆chema鐢熸垚鏁版嵁妯″瀷銆?/p>

涓嬮潰浠QL Server涓轟緥璇存槑涓涓嬮嗗悜杞崲宸ョ▼鐨勬楠ゃ?/p>

a) 棣栧厛錛岄夋嫨Tools->Data Modeler-> Reverse Engineer



銆b) 鍦ㄨ繘琛岄嗗悜宸ョ▼杞崲鐨勮繃紼嬩腑鍙互閫夋嫨鏄粠鏁版嵁搴撹繕鏄疍DL鑴氭湰榪涜杞崲錛屽鏋滄槸DDL鑴氭湰杞崲錛屽氨鐩存帴緇欏畾DDL鑴氭湰鏂囦歡浣嶇疆灝卞彲浠ヤ簡(jiǎn)銆傛湰渚嬪瓙緇欏嚭鐨勬槸榪炴帴SQLServer鏁版嵁搴撳皢schema瀵煎叆鐢熸垚鏁版嵁妯″瀷鐨勮繃紼嬶紝鎵浠ラ変腑Database錛岃繘鍏ヤ笅涓姝ャ?/p>



銆c) 濉啓鏁版嵁搴撶浉鍏充俊鎭?/p>



銆d) 閫変腑鎵鏈夐渶瑕佽漿鎹㈢殑schema



銆e) 閫夋嫨闇瑕佸皢鍝簺鏁版嵁搴撲腑鐨勫厓绱犲鍏ュ埌鏁版嵁妯″瀷涓?br>

杞崲鎿嶄綔浼?xì)鑷姩鍦ňl勪歡鍥撅紙Component View錛変腑娣誨姞鏁版嵁搴撶粍浠訛紝騫跺湪閫昏緫鍥撅紙Logical View錛変腑鐢熸垚浠ャ奡chema銆嬩綔涓哄懡鍚嶅紑澶寸殑鏁版嵁妯″瀷銆?/p>



銆鎵撳紑鏁版嵁妯″瀷錛屽彲浠ョ湅鍒頒粠鏁版嵁搴撲腑杞崲榪囨潵鐨勫悇涓〃鍜岃鍥俱?/p>



銆浠庢暟鎹ā鍨嬪浘涓彲浠ョ湅鍒拌〃鐨勭粨鏋勪互鍙?qiáng)鍚勪釜琛ㄥ拰瑙嗗浘涔嬮棿鐨勯昏緫鍏崇郴銆?/p>

鍥涳紟濡備綍寰楀埌閫嗗悜宸ョ▼鐨勬ā鍨嬪浘

鍦≧ational Rose涓紝鏈変簺妯″瀷鍥炬槸涓嶄細(xì)鑷姩鐢熸垚鐨勶紝寰堝鏃跺欒繖涓伐浣滈渶瑕佺敤鎴鋒墜宸ユ潵瀹屾垚銆備篃灝辨槸璇達(dá)紝Rational Rose鍙礋璐g敓鎴愭ā鍨嬶紝鍖呮嫭妯″瀷涓殑鍏冪礌銆佸厓绱犵殑灞炴т互鍙?qiáng)鍚勪釜鍏冪礌涔嬮棿鐨勫叧绯诲Q屼絾鏄渶瑕佺敤鎴峰仛涓浜涢澶栫殑宸ヤ綔鏉ュ緱鍒拌鍥俱?/p>

棣栧厛錛岄氳繃閫嗗悜宸ョ▼錛岀敤鎴峰凡緇忓緱鍒頒簡(jiǎn)UML妯″瀷鎴栬呮暟鎹ā鍨嬬殑鍚勪釜緇勪歡浠ュ強(qiáng)瀹冧滑涔嬮棿鐨勫叧緋匯?涓嬩竴姝ラ渶瑕佸湪璇ユā鍨嬩笂鍒涘緩涓涓鍥撅紝瀹冧滑鍙互鏄被鍥撅紙class diagram錛屾弿榪扮郴緇熺殑闈?rùn)鎬佺粨鏋勶級(jí)鎴栬呮暟鎹ā鍨嬪浘錛圖ata model digram錛屾弿榪板叧緋繪暟鎹粨鏋勶級(jí)銆傜劧鍚庯紝鎵嬪姩浠庡乏杈圭殑explorer涓皢鍚勪釜鍏冪礌鎷栬繘瑙嗗浘涓紝鍦ㄨ繖涓繃紼嬩腑錛屽悇涓厓绱犱箣闂寸殑鍏寵仈鍏崇郴浼?xì)鑷姩鍦ㄥ浘涓〃绀哄嚭鏉ュQ岃屼笉闇瑕佺敤鎴峰啀鍋氬叾浠栧伐浣溿?/p>

渚嬪錛氱敓鎴愪竴涓暟鎹ā鍨嬬殑鏁版嵁妯″瀷鍥劇殑榪囩▼

浠庡乏杈瑰皢鏁版嵁妯″瀷涓殑鏁版嵁鍏冪礌鎷栧埌鍙寵竟鐨勬暟鎹ā鍨嬪浘涓紝琛–ustomerCustomerDemo鍜岃〃CustomerDemographics涔嬮棿鐨勪緷璧栧叧緋葷殑鑿卞艦綆ご鏄嚜鍔ㄧ敓鎴愮殑錛屾棤闇鎵嬪伐鎿嶄綔銆?/p>


涓鑸潵璇達(dá)紝涓涓郴緇熶腑鎵娑夊強(qiáng)鐨勬暟鎹厓绱犻潪甯稿錛屽鑷磋鍥懼緢鎷ユ尋錛屾帓鐗堜篃闈炲父鍥伴毦銆俁ational Rose鎻愪緵鐨勮嚜鍔ㄦ帓鐗堝姛鑳藉彲浠ュ緢鏂逛究鍦板府鍔╃敤鎴瘋В鍐寵繖涓棶棰樸?/p>

閫夋嫨Format->Layout Diagram錛岀郴緇熶細(xì)灝嗗浘涓殑鎵鏈夊厓绱犵敤鏈浼樻柟寮忛噸鏂版帓鍒楋紝緇欑敤鎴蜂竴涓竻鏅扮殑瑙嗗浘銆?/p>



浜旓紟鎬葷粨

浜?jiǎn)瑙d簡(jiǎn)Rational Rose鐨勯嗗悜宸ョ▼鍔熻兘錛岀敤鎴峰氨鍙互鏂逛究鍦板埄鐢ㄨ繖涓宸ュ叿榪涜澶у瀷鏁版嵁搴撶浉鍏崇殑C++緋葷粺鐨勫垎鏋愬拰鐮旂┒浜?jiǎn)銆?/p>

娉ㄩ噴

鈶營(yíng)BM Rational Software Architect鏄竴涓泦鎴愬紡璁捐鍜屽紑鍙戝伐鍏鳳紝浣跨敤鎴峰彲浠ョ敤UML妯″瀷椹卞姩鐨勫紑鍙戞柟寮忓紑鍙戝嚭緇撴瀯娓呮櫚鐨勫簲鐢ㄧ▼搴忓拰鏈嶅姟銆?/p>

鈶BM Rational Software Modeler鏄熀浜嶶ML2.0鐨勫彲瀹氬埗鐨勫彲瑙嗗寲寤烘ā鍜岃璁″伐鍏鳳紝閬靛驚瀹冩墍鎻愪緵鐨勫伐浣滄祦紼嬶紝鍙互浣垮緱緋葷粺璁捐甯堬紝緋葷粺鍒嗘瀽甯堬紝璁捐浜哄憳絳夊啓鍑烘洿涓烘竻鏅扮殑鏂囨。錛屾洿涓烘湁鏁堝湴榪涜娌熼氬拰璁捐宸ヤ綔銆?/p>

鈶ML鎻愪緵鐨勫悇縐嶇被鍨嬬殑妯″瀷鎻忚堪鍥?/p>

鐢ㄤ緥鍥?Use Case Diagram)錛氭弿榪扮郴緇熸彁渚涚殑涓涓姛鑳藉崟鍏冿紝涓昏鐩殑鏄府鍔╁紑鍙戝洟闃熶互涓縐嶅彲瑙嗗寲鐨勬柟寮忕悊瑙g郴緇熺殑鍔熻兘闇姹傦紝鍖呮嫭鍩轟簬鍩烘湰嫻佺▼鐨?瑙掕壊"錛坅ctors錛屼篃灝辨槸涓庣郴緇熶氦浜掔殑鍏朵粬瀹炰綋錛夊叧緋伙紝浠ュ強(qiáng)緋葷粺鍐呯敤渚嬩箣闂寸殑鍏崇郴銆?/p>

搴忓垪鍥?Sequence Diagram)錛氭樉紺哄叿浣撶敤渚嬶紙鎴栬呮槸鐢ㄤ緥鐨勪竴閮ㄥ垎錛夌殑璇︾粏嫻佺▼銆?/p>

鐘舵佸浘(Statechart Diagram)錛氳〃紺烘煇涓被鎵澶勭殑涓嶅悓鐘舵佸拰璇ョ被鐨勭姸鎬佽漿鎹俊鎭?/p>

媧誨姩鍥?Activity Diagram)錛氳〃紺哄湪澶勭悊鏌愪釜媧誨姩鏃訛紝涓や釜鎴栬呮洿澶氱被瀵硅薄涔嬮棿鐨勮繃紼嬫帶鍒舵祦銆?/p>

綾誨浘(Class Diagram)錛氳〃紺轟笉鍚岀殑瀹炰綋錛堜漢銆佷簨鐗╁拰鏁版嵁錛夊浣曞郊姝ょ浉鍏籌紱鎹㈠彞璇濊錛屽畠鏄劇ず浜?jiǎn)绯痪l熺殑闈?rùn)鎬佺粨鏋勩?/p>

緇勪歡鍥?Component Diagram)錛氭彁渚涚郴緇熺殑鐗╃悊瑙嗗浘銆傜粍浠訛紙Component錛夎〃紺烘ā鍨嬩唬鐮佸簱銆佹墽琛屽簱鍜屽叾瀹冪粍浠剁殑淇℃伅銆傜粍浠舵槸浠g爜鐨勫疄闄呮ā鍧楋紝緇勪歡鍥句富瑕佺敤鎴鋒槸璐熻矗鎺у埗浠g爜鍜岀紪璇戦儴緗插簲鐢ㄧ▼搴忕殑浜恒傛湁浜涚粍浠舵槸浠g爜搴擄紝鏈変簺緇勪歡鏄繍琛岀粍浠訛紝濡傛墽琛屾枃浠舵垨鍔ㄦ侀摼鎺ュ簱錛圖LL錛夋枃浠躲傦級(jí)

閮ㄧ講鍥?Deployment View)錛氳〃紺鴻杞歡緋葷粺濡備綍閮ㄧ講鍒扮‖浠剁幆澧冧腑銆?/p>

鏁版嵁妯″瀷鍥?Data Model Diagram)錛氭弿榪板叧緋繪暟鎹粨鏋勩?/p>



]]>
COM 瀛︿範(fàn)絎旇(2)-寮曠敤璁℃暟http://www.shnenglu.com/yearner/archive/2008/10/08/63500.html(Leyn)欏戒富(Leyn)欏戒富Wed, 08 Oct 2008 13:57:00 GMThttp://www.shnenglu.com/yearner/archive/2008/10/08/63500.htmlhttp://www.shnenglu.com/yearner/comments/63500.htmlhttp://www.shnenglu.com/yearner/archive/2008/10/08/63500.html#Feedback0http://www.shnenglu.com/yearner/comments/commentRss/63500.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/63500.html COM鎺ュ彛閲囩敤寮曠敤璁℃暟鏉ユ帶鍒剁粍浠剁殑鐢熷懡鍛ㄦ湡銆?br> 涓昏鐢ˋddRef ,Release 鏉ヨ繘琛屽唴瀛樼鐞嗭紝褰撳鎴蜂粠緇勪歡涓彇寰椾竴涓帴鍙f椂錛屾寮曠敤璁℃暟鍊煎皢澧?銆傚綋瀹㈡埛浣跨敤瀹屾煇涓帴鍙e悗錛岀粍浠剁殑寮曠敤璁℃暟鍊煎皢鍑?銆?br> 褰撳紩鐢ㄨ鏁板間負(fù)0鏃訛紝緇勪歡鍗沖彲灝嗚嚜宸變粠鍐呬粠涓垹闄ゃ?br> 
 (1)姝g‘浣跨敤寮曠敤璁℃暟鐨勪笁鏉$畝鍗曞師鍒?
   1)鍦ㄨ繑鍥炰箣鍓嶈皟鐢ˋddRef.
   2)浣跨敤瀹屾帴鍙e悗璋冪敤Release.
   3)鍦ㄨ祴鍊間箣鍚庤皟鐢ˋddRef(鎸囬拡澶嶅埗).
  鍩烘湰鍘熷垯鏄伩鍏嶅湪浣跨敤緇勪歡鏃訛紝緇勪歡宸茶鍒犻櫎銆?br>  QueryInterface 鍜孋reateInstance涓凡緇忚皟鐢ㄤ簡(jiǎn)AddRef,鍥犳涓嶅繀鍐嶈皟鐢ㄥ畠銆?br>  浣嗕袱鑰呰繑鍥炵殑IUnknow鎺ュ彛鍜屼竴鑸帴鍙o紝鐢ㄥ畬鍚庨兘闇瑕佽皟鐢≧elease鏉ラ噴鏀俱?br>  涓鑸岃█錛屾瘡褰撳鍒朵竴涓帴鍙g殑鎸囬拡鏃訛紝閮藉簲璇ョ浉搴旂殑澧炲姞寮曠敤璁℃暟銆?br>   IUnknown* pIUnknown=CreateInstance();
   IX * pIX=NULL;
   HRESULT hr= pIUnknown->QueryInterface(IID_IX,(void **)&pIX);
   pIUnknown->Release();
   if(SUCCEEDED(hr))
   {
    pIX->Fx();    //Fx()涓哄姛鑳藉嚱鏁?br>    IX * pIX2=pIX;   //澶嶅埗鎸囬拡錛屽嵆澧炲姞浜?jiǎn)涓涓嬌鐢ㄧ粍浠?鐨勬帴鍙?鐨勫彲鑳斤紝
    pIX2->AddRef();  //鎵浠ヨ澧炲姞璁℃暟錛屽茍鍦ㄤ嬌鐢ㄥ畬涔嬪悗release
    pIX2->Fx();     
    pIX2->Release(); //
    pIX->Release(); 
   }
   //涓婇潰浠g爜涓紝浣滀負(fù)澶嶅埗鎸囬拡pIX2錛屽叾鐢熷瓨鍛ㄦ湡涓巔IX鐩稿悓錛屽嵆錛屽湪pIX Release涔嬪墠pIX2灝卞凡緇忎笉鍐嶄嬌鐢ㄤ簡(jiǎn)錛?br>   pIX淇濊瘉浜?jiǎn)缁勪欢鋴社敤瀹夊叏鐨勫墠鎻愪笅锛宲IX涓嶇敤AddRef鍜孯elease鏄偗瀹氭病闂鐨勩?br>   
   浣嗘湁鏃跺緢闅懼垽鏂煇浜涙病鏈夊姞涓夾ddRef鍜孯elease鐨勮皟鐢ㄦ槸涓嶆槸姝g‘錛屾槸浼樺寲榪樻槸紼嬪簭閿欒銆備竴鑸敤鏅鴻兘鏉ュ皝瑁?br>   寮曠敤璁℃暟錛屼粠鑰岃В鍐寵繖涓棶棰樸?鏅鴻兘鎸囬拡)
   
   緇勪歡鍙互瀵瑰叾姣忎竴涓帴鍙e垎鍒淮鎶や竴涓紩鐢ㄨ鏁幫紝涔熷彲浠ュ鏁翠釜緇勪歡緇存姢鍗曚釜鐨勫紩鐢ㄨ鏁般傚師鍒欎笂閫夋嫨浜?jiǎn)湄?fù)姣忎竴涓?br>   鎺ュ彛鍗曠嫭緇存姢涓涓紩鐢ㄨ鏁拌屼笉鏄拡瀵規(guī)暣涓淮鎶よ鏁幫紝鍘熷洜錛屼竴錛屼嬌紼嬪簭璋冭瘯鏇存柟渚匡紝浜岋紝鏀寔緋葷粺璧勬簮鐨勬寜闇鑾峰彇銆?br>   
 (2)AddRef\Release 瀹炵幇
   涓昏鏄敼鍙樻垚鍛樺彉閲弇_cRef鐨勬暟鍊箋侫ddRef澧炲姞鍏舵暟鍊鹼紝Release鍑忓皬鏁板鹼紝騫跺湪姝ゅ間負(fù)0鏃跺皢緇勪歡鍒犻櫎銆?br>   綆鍗曞疄鐜幫細(xì)
    ULONG _stdcall AddRef()
    {
     return ++m_cRef;//return InterlockIncrement(&m_cRef);
    }
    ULONG _stdcall Release()
    {
     if(--m_cRef==0)//if(InterlockDecrement(&m_cRef)==0)
     {
      delete this;
      return 0;
     }
     return m_cRef;
    }
   涓鑸敤InterlockIncrement鍜孖nterlockDecrement鏉ュ疄鐜癆ddRef\Release; 鍙互紜繚鍚屼竴鏃墮棿鍙湁鍚屼竴綰跨▼鏉ヨ闂垚鍛樺彉閲忋?br>  3)寮曠敤璁℃暟鐨勪紭鍖栧師鍒?br>    灝卞儚(1)涓緥瀛愶紝pIX鑳戒繚闅滃湪pIX2鐢熷懡鍛ㄦ湡鍐咃紝緇勪歡鑲畾浼?xì)鍦ㄥ唴瀛樺唴瀛樼暀銆傚嵆錛岄偅浜涚敓鍛藉懆鏈熷祵濂楀湪寮曠敤鍚屼竴鎺ュ彛鐨勬寚閽堢殑鐢熷懡鍛ㄦ湡涔嬪唴鏃訛紝澶栧眰鐨勫凡鏈夊紩鐢ㄨ鏁幫紝鍐呭眰鐨勫氨鍙互涓嶈浜?jiǎn)銆?br>    娉ㄦ剰閭d簺鐢熷懡鍛ㄦ湡閲嶅彔鐨勬寚閽堛?br>    (1)杈撳嚭鍙傛暟鍘熷垯
      濡傛灉鎺ュ彛鎸囬拡浠ュ嚱鏁拌繑鍥炲兼垨鑰呬互浼犲嚭鍙傛暟浼犲嚭錛岄偅涔堝湪鍑芥暟鍐呴儴錛岃繑鍥炲弬鏁板墠璋冪敤AddRef.
      渚?QueryInterface/CreateInstance;
    (2)杈撳叆鍙傛暟鍘熷垯
      鑻ユ帴鍙f寚閽堜綔涓哄弬鏁頒紶閫掔粰涓涓嚱鏁幫紝璇ュ嚱鏁頒笉淇敼涔熷皢鍏惰繑鍥炶皟鐢ㄨ咃紝姝ゆ椂鏃犻渶璋冪敤AddRef\Release渚嬶細(xì)
       void foo(pIX *pIX)
       {
        pIX->Fx();
       }
       鍥犱負(fù)鍑芥暟鐨勭敓鍛藉懆鏈熷祵濂楀湪璋冪敤鑰呯殑鐢熷懡鍛ㄦ湡涔嬪唴鐨勩?br>    (3)杈撳叆杈撳嚭鍙傛暟鍘熷垯
      瀵逛簬浼犻掕繘鏉ョ殑鎺ュ彛鎸囬拡錛屽繀欏誨湪緇欎粬闄勫彟澶栦竴涓帴鍙f寚閽堜箣鍓嶈皟鐢╮elease錛涜繑鍥炰箣鍓嶏紝榪樺繀欏誨杈撳嚭鍙傛暟鎸囧悜鐨勬柊鎺ュ彛璋冪敤AddRef;
  4)灞閮ㄥ彉閲忓師鍒?br>    瀹冧滑鏄湪鍑芥暟鐨勭敓瀛樺懆鏈熷唴鎵嶅瓨鍦紝鍥犳涓嶉渶瑕佽皟鐢ˋddRef\Release
  5)鍏ㄥ眬鍙橀噺鍘熷垯
    鍦ㄤ紶閫掔粰鍙︿竴涓嚱鏁頒箣鍓嶏紝蹇呴』璋冪敤AddRef.
  6)涓嶇‘瀹氱殑鎯呭喌
    姝ゆ椂闇瑕佽皟鐢ˋddRef\Release 浠ラ槻涓囦竴


]]>
COM 瀛︿範(fàn)絎旇錛?錛?/title><link>http://www.shnenglu.com/yearner/archive/2008/07/22/56882.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Tue, 22 Jul 2008 10:50:00 GMT</pubDate><guid>http://www.shnenglu.com/yearner/archive/2008/07/22/56882.html</guid><wfw:comment>http://www.shnenglu.com/yearner/comments/56882.html</wfw:comment><comments>http://www.shnenglu.com/yearner/archive/2008/07/22/56882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yearner/comments/commentRss/56882.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yearner/services/trackbacks/56882.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span lang="EN-US">COM </span><span style="font-family: 瀹?huà)浣?">瀛︿範(fàn)絎旇</span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹?huà)浣?">鍑芥暟</span></p> <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 瀹?huà)浣?">涓昏鐢ㄤ簬</span><span lang="EN-US">COM</span><span style="font-family: 瀹?huà)浣?">鎺ュ彛鐨勬煡璇€傚畠鏄?/span><span lang="EN-US">COM</span><span style="font-family: 瀹?huà)浣?">鎺ュ彛瀹氫箟</span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹?huà)浣?">鐨勬垚鍛樺嚱鏁幫紝瀹㈡埛鍙互璋冪敤</span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹?huà)浣?">鏉ュ喅瀹氱粍浠舵槸鍚︽敮鎸佹煇涓壒瀹氱殑鎺ュ彛銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span></span><span style="font-family: 瀹?huà)浣?">緇勪歡</span><span lang="EN-US">COM</span><span style="font-family: 瀹?huà)浣?">鎺ュ彛閮芥槸浠?/span><span lang="EN-US">IUnkonwn</span><span style="font-family: 瀹?huà)浣?">鎺ュ彛緇ф壙鑰屾潵錛屼換浣曚竴涓帴鍙i兘鍙互鐢?/span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹?huà)浣?">鐨勬垚鍛?/span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹?huà)浣?">鏉ヨ幏鍙栧畠鎵鏀寔鐨勫叾瀹冩帴鍙c?/span></p> <p class="MsoNormal" style="text-indent: 21pt;"><span lang="EN-US">1</span><span style="font-family: 瀹?huà)浣?">錛夊畾涔夛細(xì)</span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span>HRESULT _stdcall QueryInterface(const IID& iid,void ** ppv);</span></p> <p class="MsoNormal"><span style="font-family: 瀹?huà)浣?">絎竴涓弬鏁板崄鎵闇鎺ュ彛鐨勬爣璇嗭紝鏄竴涓帴鍙f爣璇嗙</span><span lang="EN-US">IID</span><span style="font-family: 瀹?huà)浣?">緇撴瀯銆?/span> <span style="font-family: 瀹?huà)浣?">絎簩涓弬鏁板瓨鏀炬墍璇鋒眰鎺ュ彛鎸囬拡鐨勫湴鍧銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><span> </span><span>     </span>2</span><span style="font-family: 瀹?huà)浣?">錛変嬌鐢ㄨ繃紼嬶細(xì)</span></p> <p class="MsoNormal"><span lang="EN-US"><span>       </span></span><span style="font-family: 瀹?huà)浣?">鍋囧畾宸叉湁涓涓寚鍚?/span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹?huà)浣?">鐨勬寚閽?/span><span lang="EN-US">pI</span><span style="font-family: 瀹?huà)浣?">錛屼負(fù)鐭ラ亾鐩稿簲鐨勭粍浠舵槸鍚︽敮鎸佹煇涓壒瀹氱殑鎺ュ彛錛岃皟鐢?/span><span lang="EN-US">QueryInterface</span><span style="font-family: 瀹?huà)浣?">錛屼紶緇欏畠涓涓帴鍙f爣璇嗙銆傝嫢鎴愬姛榪斿洖錛岄偅灝辨槸鍙互浣跨敤瀹冭繑鍥炵殑鎸囬拡銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Void foo(IUnknown * pI)</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>IX *pIX=NULL;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">HRESULT hr=pI->QueryInterface(IID_IX,(void **)&pIX);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">If(SUCCEEDED(hr))</span></p> <p class="MsoNormal" style="margin-left: 41.25pt; text-indent: 21.75pt;"><span lang="EN-US">pIX->Fx();</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹?huà)浣?">璇ュ嚱鏁扮敤浜庢煡璇?/span><span lang="EN-US">pI</span><span style="font-family: 瀹?huà)浣?">鏄惁鏀寔鐢?/span><span lang="EN-US">IID_IX</span><span style="font-family: 瀹?huà)浣?">鎵鏍囪瘑鐨勬帴鍙c?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">IUnknown</span><span style="font-family: 瀹?huà)浣?">鐨勭戶鎵夸笉鏄櫄鎷熷熀綾匯?/span><span lang="EN-US">COM</span><span style="font-family: 瀹?huà)浣?">鎺ュ彛涓嶈兘鎸夌収铏氭嫙鏂瑰紡緇ф壙瀹冦?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">3</span><span style="font-family: 瀹?huà)浣?">錛夊疄鐜幫細(xì)</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Interface IX</span><span style="font-family: 瀹?huà)浣?">錛?/span><span lang="EN-US">IUnknown{/**/}</span><span style="font-family: 瀹?huà)浣?">錛?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Interface IY</span><span style="font-family: 瀹?huà)浣?">錛?/span><span lang="EN-US">IUnknown{/**/}</span><span style="font-family: 瀹?huà)浣?">錛?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Class CA</span><span style="font-family: 瀹?huà)浣?">錛?/span><span lang="EN-US">public IX,public IY{/**/};</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹?huà)浣?">涓昏閫氳繃鍒ゆ柇鏍囪瘑絎︽槸鍚︿負(fù)</span><span lang="EN-US">CA</span><span style="font-family: 瀹?huà)浣?">鐨勬敮鎸佺被鍨嬶紝鏉ュ垽鏂槸鍚︿負(fù)瀛樺湪鍦?/span><span lang="EN-US">CA</span><span style="font-family: 瀹?huà)浣?">涓殑</span><span lang="EN-US">COM</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">HRESULT _stdcall CA:;QueryInterface(const IID &iid,void **ppv)</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>If(iid==IID_IUnknown)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IX *>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else if(iid==IID_IX)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IX*>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else if (iid==IID_IY)</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=static_cast<IY*>(this);</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Else </span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">{</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US"><span>       </span>*ppv=NULL;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Return E_NOINTERFACE;</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Static_cast<IUnknown*>(*ppv)->AddRef();</span></p> <p class="MsoNormal" style="margin-left: 20.25pt; text-indent: 21.75pt;"><span lang="EN-US">Return S_OK;</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">}</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">4</span><span style="font-family: 瀹?huà)浣?">錛夊叧浜庡叾涓殑綾誨瀷杞崲</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US"><span>   </span></span><span style="font-family: 瀹?huà)浣?">紼嬪簭涓嫢灝?/span><span lang="EN-US">this</span><span style="font-family: 瀹?huà)浣?">鎸囬拡鐩存帴杞崲鎴?/span><span lang="EN-US">IUnknown*</span><span style="font-family: 瀹?huà)浣?">鏄笉鏄庣‘鐨勩傚洜涓哄瓨鍦ㄤ袱涓熀綾繪帴鍙o紝闇瑕佹寚鏄庢槸杞崲鍚戝摢涓涓帴鍙g殑</span><span lang="EN-US">IUnknown</span><span style="font-family: 瀹?huà)浣?">銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span lang="EN-US">Static_cast<IUnknown*> (static_cast<IX *>(this))</span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-size: 10.5pt; font-family: "times new roman","serif";" lang="EN-US"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:414.75pt; height:235.5pt'"> <v:imagedata src="file:///C:\DOCUME~1\LEYANG~1.ETH\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><img src="file:///C:/DOCUME~1/LEYANG~1.ETH/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg" v:shapes="_x0000_i1025" height="314" width="553"><!--[endif]--></span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹?huà)浣?">鍦ㄧ被鍨嬭漿鎹㈡椂錛?/span><span lang="EN-US">CA</span><span style="font-family: 瀹?huà)浣?">鎸夌収欏哄簭瀛樻斁瀹冪殑鍩虹被鎺ュ彛鍙?qiáng)鍏跺疄鐜板Q屽叾</span><span lang="EN-US">this</span><span style="font-family: 瀹?huà)浣?">鎸囬拡鍙互鐢?/span><span lang="EN-US">IX</span><span style="font-family: 瀹?huà)浣?">浠f浛錛堝湴鍧鍊肩浉鍚岋級(jí)銆?/span></p> <p class="MsoNormal" style="text-indent: 21.75pt;"><span style="font-family: 瀹?huà)浣?">鑰?/span><span lang="EN-US">IY</span><span style="font-family: 瀹?huà)浣?">鍒欓渶瑕?/span><span lang="EN-US">CA</span><span style="font-family: 瀹?huà)浣?">鐨勫熀鍧鍔犱笂鍋忕Щ鍧銆?/span></p> <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p><img src ="http://www.shnenglu.com/yearner/aggbug/56882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2008-07-22 18:50 <a href="http://www.shnenglu.com/yearner/archive/2008/07/22/56882.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>寰蔣闈㈣瘯緇忓巻http://www.shnenglu.com/yearner/archive/2008/05/29/51515.html(Leyn)欏戒富(Leyn)欏戒富Thu, 29 May 2008 12:36:00 GMThttp://www.shnenglu.com/yearner/archive/2008/05/29/51515.htmlhttp://www.shnenglu.com/yearner/comments/51515.htmlhttp://www.shnenglu.com/yearner/archive/2008/05/29/51515.html#Feedback2http://www.shnenglu.com/yearner/comments/commentRss/51515.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/51515.html       鎺ョ潃闈㈣瘯瀹樼粰鎴戝彂浜?jiǎn)涓娌撶焊錛屽叾涓竴寮犳槸璇曢錛屼笁寮犻拤鍦ㄤ竴璧風(fēng)殑鏄弬鑰冭祫鏂欙紝涓昏鏄寖寮忕殑璇存槑錛屽叾浠栭兘鏄崏綰搞?br>        棰樼洰涓嶅錛屾誨叡浜旈亾錛屼絾閮芥瘮杈冨吀鍨嬨傚墠涓夐鏄痗++鍩虹錛?棰樿姹傚啓鑼冨紡錛?棰樻暟鎹簱銆?br>        絎竴棰橈細(xì)
         緙栧啓瀛楃涓茶漿鎹nt鍨嬬殑鍑芥暟錛宨nt atoi(char* str) 錛屼緥濡傝緭鍏ュ瓧絎?123"杈撳嚭int 鍨嬫暟鎹?br>        1. 瑕佹眰涓嶈兘浣跨敤搴撳嚱鏁?.灝藉彲鑳藉鍦拌冭檻鐗規(guī)畩鎯呭喌
        榪欓亾棰樹(shù)富瑕佽冨療浜?jiǎn)瀵瑰悇绉嶆儏鍐佃冭檻鏄惁鍏ㄩ潰錛岃冭檻姝h礋鍙鳳紝闈炴硶瀛楃錛岀┖鏍肩殑澶勭悊錛屽皬鏁扮偣鐨勫鐞嗐傚敖閲忎竴嬈″驚鐜悶瀹氥傚叾涓皬鏁扮偣鍚庣殑闈炴硶瀛楃鎸夌洿鎺ョ暐鎺夊鐞嗐?br>        絎簩棰橈細(xì)
         緙栧啓鍑芥暟瀹屾垚瀛楃涓茬殑鍙嶈漿 node * reverse(node * head)
         榪欎釜姣旇緝綆鍗曪紝浣嗘敞鎰忓ご鎸囬拡涓嶅湪鍙嶈漿鑼冨洿鍐咃紝榪欎釜鏄湪鎶鏈潰鐨勬椂渚紝闈㈣瘯瀹樻墜鎶婃墜鐨勫憡璇夋垜鐨?)
         絎笁棰?br>         瀹屾垚鍑芥暟 char * strtok(char *s ,char delim) 鎶婂瓧絎︿覆浠巇elim澶剆plit.
         涔熸瘮杈冪畝鍗?br>         絎洓棰?br>         write Regulation expression according to the reference.
         1, get all the url from the "         2. write regulation expression for the following url: 
            
http://www.microsoft.com/production/id=123&reviewOid=1985&custom=257
            http://www.microsoft.com/production/id=5343&reviewOid=1431
            http://www.microsoft.com/production/id=6576&reviewOid=31614&custom=412         
             http://www.microsoft.com/production/id=234&reviewOid=43134&custom=22
         2write regulation expression for the email address.
      榪欓亾棰樻湁鍙傝冿紝鎵鏈夌殑鑼冨紡琛ㄨ揪寮忛兘鏈塺eference,鍙渶璇繪噦浜?jiǎn)鏉愭枡姣旇緝绠鍗曘?br>         絎簲棰?br>         鏁版嵁搴撻
         design a database for user to borrow or return books from the library.the database should function as follow:
         1)the user can borrow several copies of the same book
         2)when the book borrowed , the time should be recorded.
         3)the user should register in the system to get the authority for the logining in.
        write sql sentence for the follow question:
         1) insert a new record when a book borrowed/returned.
         2) get all the users ,which does not return book.
         3) get all the books ,which are never borrowed.
         3) get the books which have been borrowed for more than 10 times.
         棰樼洰灝辨槸榪欐牱銆?br>         澶ф浣滀簡(jiǎn)涓涓皬鏃訛紝鏉ヤ簡(jiǎn)涓敺闈㈣瘯瀹橈紝鏀惰蛋璇曞嵎錛岃鎴戠瓑銆傛梺杈規(guī)湁淇╁摜浠槸鍚屾潵闈㈣瘯鐨勶紝鑱婁簡(jiǎn)涓ゅ彞錛屼粬淇╃珶鏄井杞埆鐨勯儴闂ㄦ帹鏉ラ潰璇曠殑錛屽睘浜庤祴闂茬瓑寰呭啀灝變笟鐨勩傛鏆楄嚜姣旇緝涓庤繖淇╁摜浠殑宸窛錛岄潰璇曞畼鏉ヤ簡(jiǎn)錛岃鎴戠暀涓嬶紝绔熸妸閭d咯鍝ヤ滑鐩存帴鎷掍簡(jiǎn)錛屾湁浜涘簡(jiǎn)騫革紝璋冩暣蹇?jī)鎬併?br>        榪欎釜闈㈣瘯瀹樹(shù)富瑕侀拡瀵規(guī)墍絳旂殑璇曢闈㈣瘯錛屼笉鏂寚姝f垜璇曞嵎涓婄殑閿欒鍜岄仐婕忕偣錛屽茍涓旂粰鎴戞椂闂存敼姝c傝璁轟簡(jiǎn)涓浼?xì)锛屽厜櫁翠篃闂垜闂銆?br>        鐒跺悗浠栬蛋鍚庯紝鎺ュ緟鎴戠殑閭d釜濂抽潰璇曞畼鎶辯潃絎旇鏈繃鏉ャ?br>        鎴戜咯鍏堣亰浜?jiǎn)涓涓嬶紝鎴戝熸満闂簡(jiǎn)鍑犱釜闂銆傜劧鍚庢垜灝辯粰濂硅鎴戠殑涓浜涚粡鍘嗐?br>        濂圭粰鎴戜竴浠借祫鏂欙紝鏄叧浜庝漢宸ュ緗戦〉榪涜鍒嗙被鐨勮鏄庯紝鍛婅瘔鎴戠湅榪囧悗鍙互闂棶棰橈紝鐒跺悗鎵撳紑絎旇鏈鎴戝鎸囧畾鐨勭綉欏靛垎綾匯傚ぇ姒傛槸鎸夌収緗戦〉鐨勫姛鑳藉垎鎴愪簡(jiǎn)浜旂被錛?br>        鏈鍚庣殑闈㈣瘯瀹樻瘮杈冨勾杞伙紝闂簡(jiǎn)涓叧浜嶩ash 琛ㄧ殑闂錛岀劧鍚庣湅浜?jiǎn)鎴戠殑绠鍘嗭紝闂簡(jiǎn)涓猘jax鐨勯棶棰樸?br>        閭d釜hash table 闂?shù)笉鏄洿鎺ラ棶鐨勫Q?br>        鏂囦歡閲屽瓨鍦ㄥ瓧鍏稿垪琛紝鎵懼嚭瀛楁瘝姝eソ鐩稿弽鐨勫崟璇嶏紝姣斿 dog ,god ;
      











]]>
鏁版嵁緇撴瀯涓庣畻娉曞涔?fàn)璁板綍锛?xì)蹇熸帓搴?(杞?http://www.shnenglu.com/yearner/archive/2008/05/28/51404.html(Leyn)欏戒富(Leyn)欏戒富Wed, 28 May 2008 08:52:00 GMThttp://www.shnenglu.com/yearner/archive/2008/05/28/51404.htmlhttp://www.shnenglu.com/yearner/comments/51404.htmlhttp://www.shnenglu.com/yearner/archive/2008/05/28/51404.html#Feedback1http://www.shnenglu.com/yearner/comments/commentRss/51404.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/51404.html 鏁版嵁緇撴瀯涓庣畻娉曞涔?fàn)璁板綍锛?xì)蹇熸帓搴?/a>
蹇熸帓搴忕殑鍩烘湰鎬濇兂錛?/strong>
鍒嗘不娉曪紝鍗籌紝鍒嗚В錛屾眰瑙o紝緇勫悎 .

鍒嗚В錛?/strong>
鍦? 鏃犲簭鍖篟[low..high]涓換閫変竴涓褰曚綔涓哄熀鍑?閫氬父閫夌涓涓褰曪紝騫惰涓篜ivot,鍏朵笅鏍囦負(fù)pivotpos),浠ユ涓哄熀鍑嗗垝鍒嗘垚涓や釜杈冨皬鐨? 瀛愬尯闂碦[low,pivotpos - 1]鍜孯[pivotpos + 1 , high],騫朵嬌宸﹁竟瀛愬尯闂寸殑鎵鏈夎褰曞潎灝忎簬絳変簬鍩哄噯璁板綍,鍙寵竟瀛愬尯闂寸殑鎵鏈夎褰曞潎澶т簬絳変簬鍩哄噯璁板綍,鍩哄噯璁板綍鏃犻渶鍙傚姞鍚庣畫(huà)鐨勬帓搴忋傝屽垝鍒嗙殑鍏抽敭鏄姹傚嚭 鍩哄噯璁板綍鎵鍦ㄧ殑浣嶇疆pivotpos.

姹傝В錛?br>閫氳繃閫掑綊璋冪敤蹇熸帓搴忓宸︺佸彸瀛愬尯闂碦[low..pivotpos-1]鍜孯[pivotpos+1..high]蹇熸帓搴?br>
緇勫悎錛?br>褰?姹傝В"姝ラ涓殑涓や釜閫掑綊璋冪敤緇撴潫鏃訛紝鍏跺乏銆佸彸涓や釜瀛愬尯闂村凡鏈夊簭銆傚蹇熸帓搴忚岃█錛?緇勫悎"姝ラ鏃犻』鍋氫粈涔堬紝鍙湅浣滄槸絀烘搷浣溿?br>
鍏蜂綋榪囩▼錛?/strong>
璁懼簭鍒椾負(fù)R[low,high]錛屼粠鍏朵腑閫夌涓涓負(fù)鍩哄噯錛岃涓簆ivot,鐒跺悗璁句袱涓寚閽坕鍜宩,鍒嗗埆鎸囧悜搴忓垪R[low,high]鐨勮搗濮嬪拰緇撴潫浣嶇疆涓婏細(xì)
      1錛夛紝灝唅閫愭笎澧炲ぇ錛岀洿鍒版壘鍒板ぇ浜巔ivot鐨勫叧閿瓧涓烘錛?br>      2錛夛紝灝唈閫愭笎鍑忓皯錛岀洿鍒版壘鍒板皬浜庣瓑浜巔ivot鐨勫叧閿瓧涓烘錛?br>      3錛夛紝濡傛灉i<j錛屽嵆R[i,j]鐨勫厓绱犳暟澶т簬1錛屽垯浜ゆ崲R[i]鍜孯[j]錛?br>      4錛夛紝灝嗗熀鍑嗚褰昿ivot鏀懼埌鍚堥傜殑浣嶇疆涓婏紝鍗砳鍜宩鍚屾椂鎸囧悜鐨勪綅緗?鍒欐浣嶇疆涓烘柊鐨刾ivotpos銆?br>
澶囨敞錛?br>蹇熸帓搴忔槸涓嶇ǔ瀹氭帓搴?/font>,鍗崇浉鍚岀殑鍏抽敭瀛楁帓搴忓悗錛岀浉瀵逛綅緗槸涓嶇‘瀹氱殑銆?br>
紺轟緥浠g爜錛?br>

    public class DataStructure_QuickSort
    
{
        
//鍒掑垎瀛愬尯闂?璁$畻鍩哄噯浣嶇疆

        int Partition(int[] arr , int nLower ,int nUpper)
        
{
            
int pivot = arr[nLower] ;//鍙栫涓涓褰曚負(fù)鍩哄噯璁板綍

            int nLeft = nLower + 1;  //鍔?錛宲ivot鏃犻渶鍜岃嚜韜仛姣旇緝
            int nRight = nUpper ;

            
int
 temp ;
            
do
{
                
while (nLeft <= nRight && arr[nLeft] <= pivot) //灝唍Left閫愭笎澧炲ぇ錛岀洿鍒版壘鍒板ぇ浜巔ivot鐨勪笅鏍囦負(fù)姝?/span>

                    nLeft++ ;

                
while (nLeft <= nRight && arr[nRight] > pivot) //浠巒Right閫愭笎鍑忓皯錛岀洿鍒版壘鍒板皬浜庣瓑浜巔ivot鐨勪笅鏍囦負(fù)姝?/span>

                    nRight-- ;

                
//R[nLeft,nRight]鍖洪棿鐨勯暱搴?鍏冪礌鏁?澶т簬1鏃訛紝浜ゆ崲R[nLeft]鍜孯[nRight]

                if (nLeft < nRight)
                
{
                    temp 
=
 arr[nLeft] ;
                    arr[nLeft] 
=
 arr[nRight] ;
                    arr[nRight] 
=
 temp ;

                    nLeft
++
;
                    nRight
--
;
                }

            }
 while (nLeft < nRight); //褰搉Left == nRight鐨勬椂鍊欏仠姝㈠驚鐜?br>
            
//鎶婂熀鍑嗚褰昿ivot鏀懼埌姝g‘浣嶇疆錛屽嵆nLeft鍜宯Right鍚屾椂鎸囧悜鐨勪綅緗?/span>

            temp = arr[nLower];
            arr[nLower] 
=
 arr[nRight];
            arr[nRight] 
=
 temp ;

            
return
 nRight ;
        }


        
public void QuickSort(int[] arr, int nLower, int nUpper)
        
{
            
int pivotpos; //鍩哄噯涓嬫爣

            if (nLower < nUpper) //浠呭綋鍖洪棿鑼冨洿闀垮害澶т簬1鏃舵墠欏繪帓搴?/span>
            {
                pivotpos 
= Partition(arr, nLower, nUpper);//鍒掑垎瀛愬尯闂?鐭ラ亾鍩哄噯涓嬫爣(QuickSort鐨勫叧閿?

                QuickSort(arr, nLower, pivotpos - 1);     //瀵瑰乏鍖洪棿閫掑綊鎺掑簭 
                QuickSort(arr, pivotpos + 1, nUpper);     //瀵瑰彸鍖洪棿閫掑綊鎺掑簭
            }

        }

    }


]]>
C++ 瀛︿範(fàn)錛堜簩 錛夊鎬佹э紙縐瘡涓級(jí)http://www.shnenglu.com/yearner/archive/2008/05/20/50591.html(Leyn)欏戒富(Leyn)欏戒富Tue, 20 May 2008 15:37:00 GMThttp://www.shnenglu.com/yearner/archive/2008/05/20/50591.htmlhttp://www.shnenglu.com/yearner/comments/50591.htmlhttp://www.shnenglu.com/yearner/archive/2008/05/20/50591.html#Feedback4http://www.shnenglu.com/yearner/comments/commentRss/50591.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/50591.html銆銆浠庣郴緇熷疄鐜拌搴︽潵鐪嬨傚鎬佹у垎涓轟袱綾伙細(xì)闈?rùn)鎬佸鎬佹у拰鍔ㄦ佸鎬佹с?br>銆銆闈?rùn)鎬佸鎬佹э細(xì)鍦ㄧ▼搴忕紪璇戞椂緋葷粺灝辮兘鍐沖畾璋冪敤鍝釜鍑芥暟錛屽洜姝ら潤(rùn)鎬佸嚱鏁版湁縐扮紪璇戞椂鐨勫鎬佹?瀹炶川涓婃槸閫氳繃鍑芥暟鐨勯噸杞藉疄鐜?銆備緥濡傦細(xì)鍑芥暟鐨勯噸杞藉拰榪愮畻絎﹂噸杞藉疄鐜?
銆銆鍔ㄦ佸鎬佹э細(xì)榪愯榪囩▼涓墠鍔ㄦ佸湴紜畾鎿嶄綔鎸囬拡鎵鎸囩殑瀵硅薄銆備富瑕侀氳繃铏氬嚱鏁板拰閲嶅啓鏉ュ疄鐜般?br>

]]>
C++ 瀛︿範(fàn)錛堜竴錛夌被鍨嬭漿鎹?/title><link>http://www.shnenglu.com/yearner/archive/2008/05/20/50457.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Tue, 20 May 2008 11:12:00 GMT</pubDate><guid>http://www.shnenglu.com/yearner/archive/2008/05/20/50457.html</guid><wfw:comment>http://www.shnenglu.com/yearner/comments/50457.html</wfw:comment><comments>http://www.shnenglu.com/yearner/archive/2008/05/20/50457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yearner/comments/commentRss/50457.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yearner/services/trackbacks/50457.html</trackback:ping><description><![CDATA[1.綾誨瀷杞崲鎸夋柟寮忓垎涓洪殣寮忚漿鎹㈠拰鏄懼紡杞崲銆?br>        闅愬紡杞崲錛氱敱緙栬瘧鍣ㄨ嚜鍔ㄥ畬鎴愶紝鏃犻渶鐢ㄦ埛騫查銆?br>        鏄懼紡杞崲錛氶噰鐢ㄤ竴瀹氱殑褰㈠紡榪涜杞崲錛氱被鍨嬪悕錛堟暟鎹級(jí) / C涓紙綾誨瀷鍚嶏級(jí)鏁版嵁<br>2.鍏充簬杞崲鏋勯犲嚱鏁?br>        鏋勯犲嚱鏁扮殑涓縐嶏紝涓昏鐢ㄤ簬綾誨瀷杞崲錛屾牸寮忎弗鏍艱瀹氫負(fù)鍗曞弬鏁版瀯閫犲嚱鏁般?br>        渚嬶細(xì)Complex綾?br>             Complex(double r){Real=r;imag=0;}  int(double r);<br>             Complex a;<br>              a=2.4; 鐩稿綋浜巃=Complex(2.4);<br>         緙栬瘧鍣ㄥ鏋滃彂鐜拌娉曟湁闂錛屼細(xì)媯(gè)鏌ユ槸鍚﹀瓨鍦ㄨ漿鎹㈡瀯閫犲嚱鏁幫紝鏈夛紝鍒欓殣寮忚漿鎹€?br> 3.鍏充簬綾誨瀷杞崲鍑芥暟<br>         杞崲鏋勯犲嚱鏁版槸灝嗕竴縐嶆暟鎹被鍨嬭漿鎹㈡垚綾誨璞°傚鏋滅紪璇戝櫒鍙戠幇闇瑕佸皢綾昏漿鎹㈡垚鏌愮鏁版嵁綾誨瀷錛岄偅璇ユ庝箞鍔烇紵<br>         綾誨瀷杞崲鍑芥暟鐨勪竴鑸艦寮忥細(xì)operator 綾誨瀷鍚嶏紙錛墈杞崲鍑芥暟鐨勫疄鐜皚<br>        娌℃湁鍑芥暟綾誨瀷錛屾病鏈夊弬鏁般?br>         渚嬶細(xì)<br>     #include<iostream><br>     using namespace std;<br>      class Complex<br>      {<br>        public :<br>         Complex(){real=0;imag=0;}<br>         Complex(double r,double i){real=r;imag=i;}<br>          operator double(){return real;}<br>          private:<br>           double real;<br>           double imag; <br>       };<br>       int main()<br>    {<br>         Complex c1(3,4),c2(5,-10),c3;<br>         double d;<br>         d=2.5+c1;<br>         cout<<d<<end1;<br>         return0;<br>    }<br>     d=2.5+c1;<br>     鐢變簬綾繪垚鍛樻病鏈夊榪愮畻絎?閲嶈澆錛屾墍浠?.5涓巆1鏃犳硶鐩存帴鍚戝姞銆傜紪璇戝櫒鍙戠幇瀛樺湪綾誨瀷杞崲鍑芥暟錛屾晠灝?闅愬紡璋冪敤double(), c1杞崲涓?double 鍨?錛屽茍灝嗚緇撴灉瀛樻斁鍦ㄤ復(fù)鏃跺彉閲忛噷銆傝繍綆梔=2.5+3寰楀埌緇撴灉銆?br>銆鑻ヤ富鍑芥暟涓湁c3=2.5+c1;濡傛灉娌℃湁榪愮畻絎︼紜鐨勯噸杞斤紝緙栬瘧鍣ㄤ細(xì)鍑洪敊銆傚綋銆榪愮畻絎﹂噸杞藉嚱鏁頒綔涓虹被鎴愬憳鍑虹幇鏃訛紝緙栬瘧鍣ㄤ細(xì)鐞嗚В涓篶3=2.5.operator +(c1);鐢變簬2.5闈瀋omplex綾伙紝榪欑瑙f瀽緙栬瘧鍣ㄤ篃浼?xì)鍑洪敊銆傚浜巆3=c1+2.5鐨勬牸寮忥紝緙栬瘧鍣ㄤ細(xì)姝g‘澶勭悊銆?br>銆榪欑鎯呭喌浣跨敤鎴蜂笉鑳芥柟渚跨殑浣跨敤浜ゆ崲鐜囷紝涓轟簡(jiǎn)鏀瑰彉榪欎竴涓嶄究錛岄渶瑕佸皢閲嶈澆鍑芥暟浣滀負(fù)鍙嬪厓鍑芥暟鑰屼笉鏄被鎴愬憳鍑芥暟銆?鍙岀洰榪愮畻絎︾殑閲嶈澆涓鑸兘閲囩敤鍙嬪厓鍑芥暟鐨勬柟寮?<br>銆friend Complex operator +(Complex c1,complex c2);<br>    鍦ㄥ嚱鏁頒綋澶栧畾涔夛細(xì)<br>銆Complex operator +(Complex c1,complex c2);<br>銆銆{return Complex (c1.real +c2.real,c1.imag+c2.imag);}<br>榪欐牱錛屽浜巆3=2.5+c1;錛堥渶瑕佸鍔犺漿鎹㈡瀯閫犲嚱鏁幫級(jí)緙栬瘧鍣ㄥ湪閬囧埌錛嬪彿鏃訛紝浼?xì)鎼滅储锛嬩袱绔殑鏁版嵁迤堝紩鐢ㄥ弸鍏冪殑杩惤帡绗﹂噸铦插嚱鏁板Q屽叾褰㈠紡鍙樹(shù)負(fù)錛歝3=operator+(2.5,c1); 鑰屽弬鏁板畾涔夐兘鏄疌omplex瀵硅薄錛屽洜姝わ紝闅愬紡璋冪敤杞崲鏋勯犲嚱鏁幫紝褰㈠紡鍙樹(shù)負(fù)錛歝3=operator+(Complex (2.5),c1); <br>     <br><br>   <br>         <br><br> <img src ="http://www.shnenglu.com/yearner/aggbug/50457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2008-05-20 19:12 <a href="http://www.shnenglu.com/yearner/archive/2008/05/20/50457.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏈夊叧鍐呭瓨鐨勬濊冮(縐瘡涓級(jí)http://www.shnenglu.com/yearner/archive/2008/05/16/50112.html(Leyn)欏戒富(Leyn)欏戒富Fri, 16 May 2008 15:59:00 GMThttp://www.shnenglu.com/yearner/archive/2008/05/16/50112.htmlhttp://www.shnenglu.com/yearner/comments/50112.htmlhttp://www.shnenglu.com/yearner/archive/2008/05/16/50112.html#Feedback1http://www.shnenglu.com/yearner/comments/commentRss/50112.htmlhttp://www.shnenglu.com/yearner/services/trackbacks/50112.html

void GetMemory(char *p)

{

p = (char *)malloc(100);

}

void Test(void)

{

char *str = NULL;

GetMemory(str);

strcpy(str, "hello world");

printf(str);

}

璇烽棶榪愯Test 鍑芥暟浼?xì)鏈変粈涔堟牱鐨勭粨鏋滐紵

絳旓細(xì)紼嬪簭宕╂簝銆?/span>

鍥犱負(fù)GetMemory 騫朵笉鑳戒紶閫掑姩鎬佸唴瀛橈紝

Test 鍑芥暟涓殑 str 涓鐩撮兘鏄?/span> NULL銆?/span>

strcpy(str, "hello world");灝嗕嬌紼嬪簭宕?/span>

婧冦?/span>

char *GetMemory(void)

{

char p[] = "hello world";

return p;

}

void Test(void)

{

char *str = NULL;

str = GetMemory();

printf(str);

}

璇烽棶榪愯Test 鍑芥暟浼?xì)鏈変粈涔堟牱鐨勭粨鏋滐紵

絳旓細(xì)鍙兘鏄貢鐮併?/span>

鍥犱負(fù)GetMemory 榪斿洖鐨勬槸鎸囧悜“鏍堝唴瀛?#8221;

鐨勬寚閽堬紝璇ユ寚閽堢殑鍦板潃涓嶆槸 NULL錛屼絾鍏跺師

鐜扮殑鍐呭宸茬粡琚竻闄わ紝鏂板唴瀹逛笉鍙煡銆?/span>

void GetMemory2(char **p, int num)

{

*p = (char *)malloc(num);

}

void Test(void)

{

char *str = NULL;

GetMemory(&str, 100);

strcpy(str, "hello");

printf(str);

}

璇烽棶榪愯Test 鍑芥暟浼?xì)鏈変粈涔堟牱鐨勭粨鏋滐紵

絳旓細(xì)

錛?/span>1錛夎兘澶熻緭鍑?/span>hello

錛?/span>2錛夊唴瀛樻硠婕?/span>

void Test(void)

{

char *str = (char *) malloc(100);

strcpy(str, “hello”);

free(str);

if(str != NULL)

{

strcpy(str, “world”);

printf(str);

}

}

璇烽棶榪愯Test 鍑芥暟浼?xì)鏈変粈涔堟牱鐨勭粨鏋滐紵

絳旓細(xì)綃℃敼鍔ㄦ佸唴瀛樺尯鐨勫唴瀹癸紝鍚庢灉闅句互棰?/span>

鏂欙紝闈炲父鍗遍櫓銆?/span>

鍥犱負(fù)free(str);涔嬪悗錛?/span>str 鎴愪負(fù)閲庢寚閽堬紝

if(str != NULL)璇彞涓嶈搗浣滅敤銆?/span>

2.鍏充簬鍐呭瓨娉勯湶

  鍦ㄨ綆楁満縐戝涓紝鍐呭瓨娉勬紡鎸囩敱浜庣枏蹇芥垨閿欒閫犳垚紼嬪簭鏈兘閲婃斁宸茬粡涓嶅啀浣跨敤鐨勫唴瀛樼殑鎯呭喌銆傚唴瀛樻硠婕忓茍闈炴寚鍐呭瓨鍦ㄧ墿鐞嗕笂鐨勬秷澶憋紝鑰屾槸搴旂敤紼嬪簭鍒嗛厤鏌愭鍐呭瓨鍚庯紝 鐢變簬璁捐閿欒錛屽け鍘諱簡(jiǎn)瀵硅孌靛唴瀛樼殑鎺у埗錛屽洜鑰岄犳垚浜?jiǎn)鍐呭瓨鐨剫躬璐广傚唴瀛樻硠婕忎笌璁稿鍏朵粬闂鏈夌潃鐩鎬技鐨勭棁鐘訛紝騫朵笖閫氬父鎯呭喌涓嬪彧鑳界敱閭d簺鍙互鑾峰緱紼嬪簭婧愪唬鐮佺殑紼? 搴忓憳鎵嶅彲浠ュ垎鏋愬嚭鏉ャ傜劧鑰岋紝鏈変笉灝戜漢涔?fàn)鎯簬鎶婁恢M綍涓嶉渶瑕佺殑鍐呭瓨?shù)娇鐢ㄧ殑澧炲姞鎻彉q頒負(fù)鍐呭瓨娉勬紡錛屽嵆浣夸弗鏍兼剰涔変笂鏉ヨ榪欐槸涓嶅噯紜殑銆?br>        涓鑸垜浠父璇寸殑鍐呭瓨娉勬紡鏄寚鍫嗗唴瀛樼殑娉勬紡銆傚爢鍐呭瓨鏄寚紼嬪簭浠庡爢涓垎閰嶇殑錛屽ぇ灝忎換鎰忕殑錛堝唴瀛樺潡鐨勫ぇ灝忓彲浠ュ湪紼嬪簭榪愯鏈熷喅瀹氾級(jí)錛屼嬌鐢ㄥ畬鍚庡繀欏繪樉紺洪噴鏀劇殑鍐呭瓨銆? 搴旂敤紼嬪簭涓鑸嬌鐢╩alloc錛宺ealloc錛宯ew絳夊嚱鏁頒粠鍫嗕腑鍒嗛厤鍒頒竴鍧楀唴瀛橈紝浣跨敤瀹屽悗錛岀▼搴忓繀欏昏礋璐g浉搴旂殑璋冪敤free鎴杁elete閲婃斁璇ュ唴瀛? 鍧楋紝鍚﹀垯錛岃繖鍧楀唴瀛樺氨涓嶈兘琚啀嬈′嬌鐢紝鎴戜滑灝辮榪欏潡鍐呭瓨娉勬紡浜?jiǎn)銆?/p>

]]>
鏁版嵁綾誨瀷杞崲錛歴tatic_cast,const_cast絳夌敤娉?杞澆錛?/title><link>http://www.shnenglu.com/yearner/archive/2008/05/16/50077.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Fri, 16 May 2008 11:01:00 GMT</pubDate><guid>http://www.shnenglu.com/yearner/archive/2008/05/16/50077.html</guid><wfw:comment>http://www.shnenglu.com/yearner/comments/50077.html</wfw:comment><comments>http://www.shnenglu.com/yearner/archive/2008/05/16/50077.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/yearner/comments/commentRss/50077.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yearner/services/trackbacks/50077.html</trackback:ping><description><![CDATA[<div id="hvzpftn" class="postTitle"><a class="postTitle2" id="viewpost1_TitleUrl"><font color="#000000"><br></font></a> </div> * C++鎻愪緵浜?jiǎn)鍥浛U嶆柊鐨勭被鍨嬪己鍒訛細(xì) <br><br>static_cast <br>const_cast <br>reinterpret_cast <br>dynamic_cast <br><br>1)staic_cast闈?rùn)鎬佸己鍒訛紱 <br><br>涓嶈兘鍦ㄦ棤鍏崇殑鎸囬拡涔嬮棿榪涜static綾誨瀷寮哄埗 <br>class CAnimal <br>{ <br>//... <br>public: <br>CAnimal(){} <br>}; <br><br>class CGiraffe:public CAnimal <br>{ <br>//... <br>public: <br>CGiraffe(){} <br>}; <br><br>int main(void) <br>{ <br>CAnimal an; <br>CGiraffe jean; <br><br>an = static_cast<CAnimal>(jean);//灝嗗璞ean寮哄埗鎴怌Animal綾誨瀷 <br>return 0; <br>} <br><br>2銆乧onst_cast綾誨瀷寮哄埗 <br><br>const_cast綾誨瀷寮哄埗灝嗕竴涓猚onst鍙橀噺鍙樻垚涓涓潪const鐨勭瓑浠峰艦寮?<br>int main() <br>{ <br>const int j = 99; <br>int * k; <br><br>k = const_cast<int *>(&j);//瑙i櫎const <br>return 0; <br>} <br><br>3銆乺einterpret_cast榪愮畻絎?<br><br>reinterpret_cast榪愮畻絎︾敤鏉ュ皢涓涓被鍨嬫寚閽堣漿鍙樹(shù)負(fù)鍙︿竴縐嶇被鍨嬬殑鎸囬拡錛屼篃鐢ㄥ湪灝嗘暣寮鍨嬮噺杞負(fù)鎸囬拡錛屾垨灝嗘寚閽堣漿涓烘暣鍨嬮噺涓婏紱 <br>int main() <br>{ <br>int j = 10; <br>int * ptr = &j; <br>char * cptr; <br><br>cptr = reinterpret_cast<char *>(ptr);//灝唅nt鎸囬拡綾誨瀷杞彉?shù)负char鐨勬寚閽堢被鍨?<br><br>return 0; <br>} <br><br>4銆乨ynamic_cast榪愮畻絎?<br><br>dynamic_cast鐨勪富瑕佺洰鐨勬槸錛?<br><br>1錛夊畠榪斿洖媧劇敓綾誨璞$殑鍦板潃錛?<br>2錛夊畠嫻嬭瘯鍩虹被鎸囬拡鏄惁鎸囧悜涓嬩竴灝栨嫭鍙?lt;>涓墍鎸囧畾綾誨瀷鐨勫璞?<br><br>dynamic_cast鏄竴涓繍琛屾椂綾誨瀷淇℃伅錛宒ynamic_cast榪愮畻絎﹀皢鎸囧悜媧劇敓瀵硅薄鐨勫熀綾婚儴鍒嗙殑鍩虹被鎸囬拡杞彉?shù)负鎸囧悜娲剧敓瀵硅薄鐨剫z劇敓綾繪寚閽堬紝dynamic_cast蹇呴』涓ユ牸鍦版寚瀹氫笌媧劇敓瀵硅薄鐩稿悓鐨勭被錛屾垨鑰呭畠榪斿洖NULL鎸囬拡; <br>class CAnimal <br>{ <br>//... <br>}; <br>class CGiraffe:public CAnimal <br>{ <br>//... <br>}; <br>class CGoat:public CAnimal <br>{ <br>//... <br>}; <br><br>int main() <br>{ <br>CGiraffe gene; <br>CAnimal * aptr = &gene; <br>CGiraffe * ptr1,* ptr2; <br><br>ptr1 = dynamic_cast<CGiraffe *>(aptr); <br>ptr2 = dynamic_cast<CGoat *>(aptr); //return NULL <br><br>return 0; <br>}  <br><img src ="http://www.shnenglu.com/yearner/aggbug/50077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2008-05-16 19:01 <a href="http://www.shnenglu.com/yearner/archive/2008/05/16/50077.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>c++闈㈣瘯棰?/title><link>http://www.shnenglu.com/yearner/archive/2006/09/10/12208.html</link><dc:creator>(Leyn)欏戒富</dc:creator><author>(Leyn)欏戒富</author><pubDate>Sun, 10 Sep 2006 01:11:00 GMT</pubDate><guid>http://www.shnenglu.com/yearner/archive/2006/09/10/12208.html</guid><wfw:comment>http://www.shnenglu.com/yearner/comments/12208.html</wfw:comment><comments>http://www.shnenglu.com/yearner/archive/2006/09/10/12208.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.shnenglu.com/yearner/comments/commentRss/12208.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yearner/services/trackbacks/12208.html</trackback:ping><description><![CDATA[<p id="fp">1.鏄笉鏄竴涓埗綾誨啓浜?jiǎn)涓涓獀irtual 鍑芥暟錛屽鏋滃瓙綾昏鐩栧畠鐨勫嚱鏁頒笉鍔爒irtual ,涔熻兘瀹炵幇澶氭?<br><br> <br><br>virtual淇グ絎︿細(xì)琚殣褰㈢戶鎵跨殑銆?br><br>private 涔熻闆嗘垚錛屽彧浜嬫淳鐢熺被娌℃湁璁塊棶鏉冮檺鑰屽凡<br><br>virtual鍙姞鍙笉鍔?br><br>瀛愮被鐨勭┖闂撮噷鏈夌埗綾葷殑鎵鏈夊彉閲?static闄ゅ)<br><br>鍚屼竴涓嚱鏁板彧瀛樺湪涓涓疄浣?inline闄ゅ)<br><br>瀛愮被瑕嗙洊瀹冪殑鍑芥暟涓嶅姞virtual ,涔熻兘瀹炵幇澶氭併?br><br>鍦ㄥ瓙綾葷殑絀洪棿閲岋紝鏈夌埗綾葷殑縐佹湁鍙橀噺銆傜鏈夊彉閲忎笉鑳界洿鎺ヨ闂?br><br><br>--------------------------------------------------------------------------<br>2.杈撳叆涓涓瓧絎︿覆錛屽皢鍏墮嗗簭鍚庤緭鍑恒傦紙浣跨敤C++錛屼笉寤鴻鐢ㄤ吉鐮侊級(jí)<br><br>#include <iostream><br>using namespace std;<br><br><br>void main()<br>{<br>  char a[50];memset(a,0,sizeof(a));<br>  int i=0,j;<br>  char t;<br>  cin.getline(a,50,'\n');<br>  for(i=0,j=strlen(a)-1;i<strlen(a)/2;i++,j--)<br>  {<br>   t=a[i];<br>      a[i]=a[j];<br>   a[j]=t;<br>  }<br>  cout<<a<<endl;  <br>}<br><br>//絎簩縐?br><br>string str;<br>cin>>str;<br>str.replace;<br>cout<<str;<br><br><br>--------------------------------------------------------------------------<br>3.璇風(fēng)畝鍗曟弿榪癢indows鍐呭瓨綆$悊鐨勬柟娉曘?br><br>鍐呭瓨綆$悊鏄搷浣滅郴緇熶腑鐨勯噸瑕侀儴鍒嗭紝涓や笁鍙ヨ瘽鎭愭曡皝涔熻涓嶆竻妤氬惂锝烇綖<br>鎴戝厛璇翠釜澶ф錛屽笇鏈涜兘澶熸姏鐮栧紩鐜夊惂<br><br>褰撶▼搴忚繍琛屾椂闇瑕佷粠鍐呭瓨?shù)腑璇诲國(guó)櫩檶D電▼搴忕殑浠g爜銆備唬鐮佺殑浣嶇疆蹇呴』鍦ㄧ墿鐞嗗唴瀛樹(shù)腑鎵嶈兘琚繍琛岋紝鐢變簬鐜板湪鐨勬搷浣滅郴緇熶腑鏈夐潪甯稿鐨勭▼搴忚繍琛岀潃錛屽唴瀛樹(shù)腑涓嶈兘澶熷畬鍏ㄦ斁涓嬶紝鎵浠ュ紩鍑轟簡(jiǎn)铏氭嫙鍐呭瓨鐨勬蹇點(diǎn)傛妸鍝簺涓嶅父鐢ㄧ殑紼嬪簭鐗囨柇灝辨斁鍏ヨ櫄鎷熷唴瀛橈紝褰撻渶瑕佺敤鍒板畠鐨勬椂鍊欏湪load鍏ヤ富瀛橈紙鐗╃悊鍐呭瓨錛変腑銆傝繖涓氨鏄唴瀛樼鐞嗘墍瑕佸仛鐨勪簨銆傚唴瀛樼鐞嗚繕鏈夊彟澶栦竴浠朵簨闇瑕佸仛錛氳綆楃▼搴忕墖孌靛湪涓誨瓨?shù)腑鐨勭墿鐞嗕綅缃Q屼互渚緾PU璋冨害銆?br><br>鍐呭瓨綆$悊鏈夊潡寮忕鐞嗭紝欏靛紡綆$悊錛屾寮忓拰孌甸〉寮忕鐞嗐傜幇鍦ㄥ父鐢ㄦ欏靛紡綆$悊<br><br>鍧楀紡綆$悊錛氭妸涓誨瓨鍒嗕負(fù)涓澶у潡銆佷竴澶у潡鐨勶紝褰撴墍闇鐨勭▼搴忕墖鏂笉鍦ㄤ富瀛樻椂灝卞垎閰嶄竴鍧椾富瀛樼┖闂達(dá)紝鎶婄▼ 搴忕墖鏂璴oad鍏ヤ富瀛橈紝灝辯畻鎵闇鐨勭▼搴忕墖搴﹀彧鏈夊嚑涓瓧鑺備篃鍙兘鎶婅繖涓鍧楀垎閰嶇粰瀹冦傝繖鏍蜂細(xì)閫犳垚寰堝ぇ鐨勬氮璐癸紝騫沖潎嫻垂浜?0錛呯殑鍐呭瓨絀洪棿錛屼絾鏃舵槗浜庣鐞嗐?br><br>欏靛紡綆$悊錛氭妸涓誨瓨鍒嗕負(fù)涓欏典竴欏電殑錛屾瘡涓欏電殑絀洪棿瑕佹瘮涓鍧椾竴鍧楃殑絀洪棿灝忓緢澶氾紝鏄劇劧榪欑鏂規(guī)硶鐨勭┖闂村埄鐢ㄧ巼瑕佹瘮鍧楀紡綆$悊楂樺緢澶氥?br><br>孌靛紡綆$悊錛氭妸涓誨瓨鍒嗕負(fù)涓孌典竴孌電殑錛屾瘡涓孌電殑絀洪棿鍙堣姣斾竴欏典竴欏電殑絀洪棿灝忓緢澶氾紝榪欑鏂規(guī)硶鍦ㄧ┖闂村埄鐢ㄧ巼涓婂張姣旈〉寮忕鐞嗛珮寰堝錛屼絾鏄篃鏈夊彟澶栦竴涓己鐐廣備竴涓▼搴忕墖鏂彲鑳戒細(xì)琚垎涓哄嚑鍗佹錛岃繖鏍峰緢澶氭椂闂村氨浼?xì)琚珛躬璐瑰湪璁〗帡姣忎竴孌電殑鐗╃悊鍦板潃涓婏紙璁$畻鏈烘渶鑰楁椂闂寸殑澶у閮界煡閬撴槸I/O鍚э級(jí)銆?br><br>孌甸〉寮忕鐞嗭細(xì)緇撳悎浜?jiǎn)娈靛紡绠$悊鍜寵宓寮徑帯鐞嗙殑浼樼倧V傛妸涓誨瓨鍒嗕負(fù)鑻ュ共欏碉紝姣忎竴欏靛張鍒嗕負(fù)鑻ュ共孌點(diǎn)傚ソ澶勫氨寰堟槑鏄撅紝涓嶇敤鎴戝璇翠簡(jiǎn)鍚с?br><br>鍚勭鍐呭瓨綆$悊閮芥湁瀹冭嚜宸辯殑鏂規(guī)硶鏉ヨ綆楀嚭紼嬪簭鐗囨柇鍦ㄤ富瀛樹(shù)腑鐨勭墿鐞嗗湴鍧錛屽叾瀹為兘寰堢浉浼箋?br><br>榪欏彧鏄竴涓ぇ姒傝屽凡錛屼笉瓚充互璇存槑鍐呭瓨綆$悊鐨勭毊姣涖傛棤璁哄摢涓鏈搷浣滅郴緇熶功涓婇兘鏈夎緇嗙殑璁茶В<br><br><br>--------------------------------------------------------------------------<br>4.<br>#include "stdafx.h"<br>#define SQR(X) X*X<br><br>int main(int argc, char* argv[])<br>{<br> int a = 10;<br> int k = 2;<br> int m = 1;<br><br> a /= SQR(k+m)/SQR(k+m); <br> printf("%d\n",a); <br><br> return 0;<br>}<br>榪欓亾棰樼洰鐨勭粨鏋滄槸浠涔堝晩?<br><br>define 鍙槸瀹氫箟鑰屽凡錛屽湪緙栨嫨鏃跺彧鏄畝鍗曚唬鎹*X鑰屽凡錛屽茍涓嶇粡榪囩畻鏈硶鍒欑殑<br><br>a /= (k+m)*(k+m)/(k+m)*(k+m);</p> <p id="fp">a/=k+m*k+m/k+m*k+m<br>=>a /= 2+1*2+1/2+1*2+1<br>=>a = a/7;<br>=>a = 1;<br><br>--------------------------------------------------------------------------<br>5.<br>const 絎﹀彿甯擱噺錛?br>(1)const char *p<br>(2)char const *p<br>(3)char * const p<br>璇存槑涓婇潰涓夌鎻忚堪鐨勫尯鍒紱<br><br><br>濡傛灉const浣嶄簬鏄熷彿鐨勫乏渚э紝鍒檆onst灝辨槸鐢ㄦ潵淇グ鎸囬拡鎵鎸囧悜鐨勫彉閲忥紝鍗蟲(chóng)寚閽堟寚鍚戜負(fù)甯擱噺錛?br>濡傛灉const浣嶄簬鏄熷彿鐨勫彸渚э紝const灝辨槸淇グ鎸囬拡鏈韓錛屽嵆鎸囬拡鏈韓鏄父閲忋?br><br>(1)const char *p<br><br>涓涓寚鍚慶har綾誨瀷鐨刢onst瀵硅薄鎸囬拡錛宲涓嶆槸甯擱噺,鎴戜滑鍙互淇敼p鐨勫鹼紝浣垮叾鎸囧悜涓嶅悓鐨刢har錛屼絾鏄笉鑳芥敼鍙樺畠鎸囧悜闈瀋har瀵硅薄錛屽錛?br>const char *p;<br>char c1='a';<br>char c2='b';<br>p=&c1;//ok<br>p=&c2;//ok<br>*p=c1;//error<br><br>(2)char const *p<br>(3)char * const p<br><br>榪欎袱涓ソ璞℃槸涓鏍風(fēng)殑錛屾鏃?p鍙互淇敼錛岃宲涓嶈兘淇敼銆?br><br>(4)const char * const p<br>榪欑鏄湴鍧鍙?qiáng)鎸囧悜瀵硅薄閮戒笉鑳戒慨鏀广?br><br>--------------------------------------------------------------------------<br>6.涓嬮潰鏄疌璇█涓袱縐峣f璇彞鍒ゆ柇鏂瑰紡銆傝闂摢縐嶅啓娉曟洿濂斤紵涓轟粈涔堬紵<br> int n;<br> if (n == 10) // 絎竴縐嶅垽鏂柟寮?br> if (10 == n) // 絎簩縐嶅垽鏂柟寮?br><br>濡傛灉灝戜簡(jiǎn)涓?鍙?緙栬瘧鏃跺氨浼?xì)鎶ラ?鍑忓皯浜?jiǎn)鍑洪敊鐨勫彲鑳借?鍙互媯(gè)嫻嬪嚭鏄惁灝戜簡(jiǎn)=<br><br>--------------------------------------------------------------------------<br>7.涓嬮潰鐨勪唬鐮佹湁浠涔堥棶棰橈紵<br>void DoSomeThing(...)<br>{<br> char* p;<br> ...<br> p = malloc(1024);  // 鍒嗛厤1K鐨勭┖闂?br> if (NULL == p)<br>  return;<br> ...<br> p = realloc(p, 2048); // 絀洪棿涓嶅錛岄噸鏂板垎閰嶅埌2K<br> if (NULL == p)<br>  return;<br> ...<br>}<br><br>A:<br>p = malloc(1024);     搴旇鍐欐垚錛?nbsp;p = (char *) malloc(1024); <br>        娌℃湁閲婃斁p鐨勭┖闂達(dá)紝閫犳垚鍐呭瓨娉勬紡銆?br><br><br>--------------------------------------------------------------------------<br>8.涓嬮潰鐨勪唬鐮佹湁浠涔堥棶棰橈紵騫惰緇欏嚭姝g‘鐨勫啓娉曘?br>void DoSomeThing(char* p)<br>{<br> char str[16];<br> int n;<br> assert(NULL != p);<br> sscanf(p, "%s%d", str, n);<br> if (0 == strcmp(str, "something"))<br> {<br>  ...<br> }<br>}<br><br>A:<br>sscanf(p, "%s%d", str, n);   榪欏彞璇ュ啓鎴愶細(xì) sscanf(p, "%s%d", str, &n);<br><br>--------------------------------------------------------------------------<br>9.涓嬮潰浠g爜鏈変粈涔堥敊璇?<br>Void test1() <br>{ <br> char string[10]; <br> char *str1="0123456789";<br> strcpy(string, str1); <br>} <br><br>鏁扮粍瓚婄晫<br><br>--------------------------------------------------------------------------<br>10.涓嬮潰浠g爜鏈変粈涔堥棶棰?<br>Void test2() <br>{ <br>  char string[10], str1[10]; <br>  for(i=0; i<10;i++) <br>  { <br>     str1[i] ='a'; <br>  } <br>  strcpy(string, str1); <br>} <br><br>鏁扮粍瓚婄晫<br><br>--------------------------------------------------------------------------<br>11.涓嬮潰浠g爜鏈変粈涔堥棶棰?<br>Void test3(char* str1) <br>{ <br>  char string[10]; <br>  if(strlen(str1)<=10) <br>  { <br>    strcpy(string, str1); <br>  } <br>} <br><br>==鏁扮粍瓚婄晫<br>==strcpy鎷瘋礉鐨勭粨鏉熸爣蹇楁槸鏌ユ壘瀛楃涓蹭腑鐨刓0 鍥犳濡傛灉瀛楃涓蹭腑娌℃湁閬囧埌\0鐨勮瘽 浼?xì)涓鐩村鍒訛紝鐩村埌閬囧埌\0,涓婇潰鐨?23閮藉洜姝や駭鐢熻秺鐣岀殑鎯呭喌<br> <br>寤鴻浣跨敤 strncpy 鍜?nbsp;memcpy<br><br>--------------------------------------------------------------------------<br>12.涓嬮潰浠g爜鏈変粈涔堥棶棰?<br><br>#define MAX_SRM 256 <br><br>DSN get_SRM_no() <br>{ <br>  static int SRM_no; //鏄笉鏄繖閲屾病璧嬪垵鍊鹼紵<br>  int I; <br>  for(I=0;I<MAX_SRM;I++,SRM_no++) <br>  { <br>    SRM_no %= MAX_SRM; <br>    if(MY_SRM.state==IDLE) <br>    { <br>      break; <br>    } <br>  } <br>  if(I>=MAX_SRM) <br>    return (NULL_SRM); <br>  else <br>    return SRM_no; <br>} <br><br>緋葷粺浼?xì)鍒濆鍖杝tatic int鍙橀噺涓?,浣嗚鍊間細(xì)涓鐩翠繚瀛?鎵璋撶殑涓嶅彲閲嶅叆...<br><br>--------------------------------------------------------------------------<br>13.鍐欏嚭榪愯緇撴灉:<br>{// test1<br>    char str[] = "world"; cout << sizeof(str) << ": ";<br>    char *p    = str;     cout << sizeof(p) << ": ";<br>    char i     = 10;      cout << sizeof(i) << ": ";<br>    void *pp   = malloc(10);  cout << sizeof(p) << endl;<br>}<br><br>6錛?錛?錛?<br><br>--------------------------------------------------------------------------<br>14.鍐欏嚭榪愯緇撴灉:<br>{// test2<br>    union V {<br> struct X {<br>  unsigned char s1:2;<br>  unsigned char s2:3;<br>  unsigned char s3:3;<br> } x;<br><br> unsigned char c;<br>    } v;<br><br>    v.c = 100;<br>    printf("%d", v.x.s3); <br><br>}<br><br>3<br><br>--------------------------------------------------------------------------<br>15.鐢–++鍐欎釜紼嬪簭錛屽浣曞垽鏂竴涓搷浣滅郴緇熸槸16浣嶈繕鏄?2浣嶇殑錛熶笉鑳界敤sizeof()鍑芥暟<br><br>A1:<br>16浣嶇殑緋葷粺涓嬶紝<br>int i = 65536;<br>cout << i; // 杈撳嚭0錛?br>int i = 65535;<br>cout << i; // 杈撳嚭-1錛?br><br>32浣嶇殑緋葷粺涓嬶紝<br>int i = 65536;<br>cout << i; // 杈撳嚭65536錛?br>int i = 65535;<br>cout << i; // 杈撳嚭65535錛?br><br>A2:<br><br>int a = ~0;<br>if( a>65536 ) <br>{<br>    cout<<"32 bit"<<endl;<br>}<br>else<br>{<br>    cout<<"16 bit"<<endl;<br>}<br><br><br>--------------------------------------------------------------------------<br>16.C鍜孋++鏈変粈涔堜笉鍚?<br><br>浠庢満鍒朵笂錛歝鏄潰鍚戣繃紼嬬殑錛堜絾c涔熷彲浠ョ紪鍐欓潰鍚戝璞$殑紼嬪簭錛夛紱c++鏄潰鍚戝璞$殑錛屾彁渚涗簡(jiǎn)綾匯備絾鏄紝<br>c++緙栧啓闈㈠悜瀵硅薄鐨勭▼搴忔瘮c瀹規(guī)槗<br><br>浠庨傜敤鐨勬柟鍚戯細(xì)c閫傚悎瑕佹眰浠g爜浣撶Н灝忕殑錛屾晥鐜囬珮鐨勫満鍚堬紝濡傚祵鍏ュ紡錛沜++閫傚悎鏇翠笂灞傜殑錛屽鏉傜殑錛?nbsp; llinux鏍稿績(jī)澶ч儴鍒嗘槸c鍐欑殑錛屽洜涓哄畠鏄郴緇熻蔣浠訛紝鏁堢巼瑕佹眰鏋侀珮銆?br><br>浠庡悕縐頒笂涔熷彲浠ョ湅鍑猴紝c++姣攃澶氫簡(jiǎn)+錛岃鏄巆++鏄痗鐨勮秴闆嗭紱閭d負(fù)浠涔堜笉鍙玞+鑰屽彨c++鍛紝鏄洜涓篶++姣?br>c鏉ヨ鎵╁厖鐨勪笢瑗垮お澶氫簡(jiǎn)錛屾墍浠ュ氨鍦╟鍚庨潰鏀句笂涓や釜+錛涗簬鏄氨鎴愪簡(jiǎn)c++<br><br>C璇█鏄粨鏋勫寲緙栫▼璇█錛孋++鏄潰鍚戝璞$紪紼嬭璦銆?br>C++渚ч噸浜庡璞¤屼笉鏄繃紼嬶紝渚ч噸浜庣被鐨勮璁¤屼笉鏄昏緫鐨勮璁°?br><br>--------------------------------------------------------------------------<br>17.鍦ㄤ笉鐢ㄧ涓夋柟鍙傛暟鐨勬儏鍐典笅錛屼氦鎹袱涓弬鏁扮殑鍊?br>#include <stdio.h><br><br>void main()<br>{<br>        int i=60;<br>        int j=50;<br>        i=i+j;<br>        j=i-j;<br>        i=i-j;<br>        printf("i=%d\n",i);<br>        printf("j=%d\n",j);<br>}<br><br>鏂規(guī)硶浜岋細(xì)<br>i^=j;<br>j^=i;<br>i^=j;<br><br>鏂規(guī)硶涓夛細(xì)<br>// 鐢ㄥ姞鍑忓疄鐜幫紝鑰屼笖涓嶄細(xì)婧㈠嚭<br>a = a+b-(b=a)<br><br>--------------------------------------------------------------------------<br>18.鏈夊叧浣嶅煙鐨勯潰璇曢錛堜負(fù)浠涔堣緭鍑虹殑鏄竴涓鎬殑瀛楃錛?br><br>a.t = 'b';鏁堟灉鐩稿綋浜?nbsp;a.t= 'b' & 0xf;<br><br>'b' --> 01100010<br>'b' & 0xf -->>00000010<br>鎵浠ヨ緭鍑篈scii鐮佷負(fù)2鐨勭壒孌婂瓧絎?br><br><br>char t:4;灝辨槸4bit鐨勫瓧絎﹀彉閲忥紝鍚屾牱<br>unsigned short i:8;灝辨槸8bit鐨勬棤絎﹀彿鐭暣褰㈠彉閲?br><br>--------------------------------------------------------------------------<br>19.int i=10, j=10, k=3; k*=i+j; k鏈鍚庣殑鍊兼槸?<br><br>60<br><br>--------------------------------------------------------------------------<br>20.榪涚▼闂撮氫俊鐨勬柟寮忔湁?<br><br>榪涚▼闂撮氫俊鐨勬柟寮忔湁 鍏變韓鍐呭瓨錛?nbsp;綆¢亾 錛孲ocket 錛屾秷鎭槦鍒?nbsp;, DDE絳?br><br>--------------------------------------------------------------------------<br>21.<br>struct A <br>{ <br>char t:4; <br>char k:4; <br>unsigned short i:8; <br>unsigned long m; <br>} <br>sizeof(A)=?錛堜笉鑰冭檻杈圭晫瀵歸綈錛?br><br>7<br><br>struct CELL             // Declare CELL bit field<br>{<br>   unsigned character  : 8;  // 00000000 ????????<br>   unsigned foreground : 3;  // 00000??? 00000000<br>   unsigned intensity  : 1;  // 0000?000 00000000<br>   unsigned background : 3;  // 0???0000 00000000<br>   unsigned blink      : 1;  // ?0000000 00000000<br>} screen[25][80];       // Array of bit fields<br>浜屻佷綅緇撴瀯 <br>    浣嶇粨鏋勬槸涓縐嶇壒孌婄殑緇撴瀯, 鍦ㄩ渶鎸変綅璁塊棶涓涓瓧鑺傛垨瀛楃殑澶氫釜浣嶆椂, 浣嶇粨鏋?nbsp;<br>姣旀寜浣嶈繍綆楃鏇村姞鏂逛究銆?nbsp;<br>    浣嶇粨鏋勫畾涔夌殑涓鑸艦寮忎負(fù): <br>     struct浣嶇粨鏋勫悕{ <br>          鏁版嵁綾誨瀷 鍙橀噺鍚? 鏁村瀷甯告暟; <br>          鏁版嵁綾誨瀷 鍙橀噺鍚? 鏁村瀷甯告暟; <br>     } 浣嶇粨鏋勫彉閲? <br>    鍏朵腑: 鏁版嵁綾誨瀷蹇呴』鏄痠nt(unsigned鎴杝igned)銆?nbsp;鏁村瀷甯告暟蹇呴』鏄潪璐熺殑鏁?nbsp;<br>鏁? 鑼冨洿鏄?~15, 琛ㄧず浜岃繘鍒朵綅鐨勪釜鏁? 鍗寵〃紺烘湁澶氬皯浣嶃?nbsp;<br>    鍙橀噺鍚嶆槸閫夋嫨欏? 鍙互涓嶅懡鍚? 榪欐牱瑙勫畾鏄負(fù)浜?jiǎn)鎺掑垪闇瑕併?nbsp;<br>    渚嬪: 涓嬮潰瀹氫箟浜?jiǎn)涓涓綅緇撴瀯銆?nbsp;<br>     struct{ <br>          unsigned incon: 8;  /*incon鍗犵敤浣庡瓧鑺傜殑0~7鍏?浣?/ <br>          unsigned txcolor: 4;/*txcolor鍗犵敤楂樺瓧鑺傜殑0~3浣嶅叡4浣?/ <br>          unsigned bgcolor: 3;/*bgcolor鍗犵敤楂樺瓧鑺傜殑4~6浣嶅叡3浣?/ <br>          unsigned blink: 1;  /*blink鍗犵敤楂樺瓧鑺傜殑絎?浣?/ <br>     }ch; <br>    浣嶇粨鏋勬垚鍛樼殑璁塊棶涓庣粨鏋勬垚鍛樼殑璁塊棶鐩稿悓銆?nbsp;<br>    渚嬪: 璁塊棶涓婁緥浣嶇粨鏋勪腑鐨刡gcolor鎴愬憳鍙啓鎴? <br>      ch.bgcolor <br>  <br>    娉ㄦ剰: <br>    1. 浣嶇粨鏋勪腑鐨勬垚鍛樺彲浠ュ畾涔変負(fù)unsigned, 涔熷彲瀹氫箟涓簊igned,  浣嗗綋鎴愬憳闀?nbsp;<br>搴︿負(fù)1鏃? 浼?xì)琚湄?fù)鏄痷nsigned綾誨瀷銆傚洜涓哄崟涓綅涓嶅彲鑳藉叿鏈夌鍙楓?nbsp;<br>    2. 浣嶇粨鏋勪腑鐨勬垚鍛樹(shù)笉鑳戒嬌鐢ㄦ暟緇勫拰鎸囬拡, 浣嗕綅緇撴瀯鍙橀噺鍙互鏄暟緇勫拰鎸囬拡, <br>濡傛灉鏄寚閽? 鍏舵垚鍛樿闂柟寮忓悓緇撴瀯鎸囬拡銆?nbsp;<br>    3. 浣嶇粨鏋勬婚暱搴?浣嶆暟), 鏄悇涓綅鎴愬憳瀹氫箟鐨勪綅鏁頒箣鍜?  鍙互瓚呰繃涓や釜瀛?nbsp;<br>鑺傘?nbsp;<br>    4. 浣嶇粨鏋勬垚鍛樺彲浠ヤ笌鍏跺畠緇撴瀯鎴愬憳?shù)竴璧蜂嬌鐢ㄣ?nbsp;<br>    渚嬪: <br>     struct info{ <br>          char name[8]; <br>          int age; <br>          struct addr address; <br>          float pay; <br>          unsigned state: 1; <br>          unsigned pay: 1; <br>          }workers;<br>    涓婁緥鐨勭粨鏋勫畾涔変簡(jiǎn)鍏充簬涓涓伐浜虹殑淇℃伅銆傚叾涓湁涓や釜浣嶇粨鏋勬垚鍛? 姣忎釜浣嶇粨 <br>鏋勬垚鍛樺彧鏈変竴浣? 鍥犳鍙崰涓涓瓧鑺備絾淇濆瓨?shù)簡(jiǎn)涓や釜淇℃? 璇ュ瓧鑺備腑絎竴浣嶈〃紺哄伐 <br>浜虹殑鐘舵? 絎簩浣嶈〃紺哄伐璧勬槸鍚﹀凡鍙戞斁銆傜敱姝ゅ彲瑙佷嬌鐢ㄤ綅緇撴瀯鍙互鑺傜渷瀛樿串絀洪棿銆?br><br><br>--------------------------------------------------------------------------<br>22.涓嬮潰鐨勫嚱鏁板疄鐜板湪涓涓浐瀹氱殑鏁頒笂鍔犱笂涓涓暟錛屾湁浠涔堥敊璇紝鏀規(guī) <br>int add_n(int n) <br>{ <br>  static int i=100; <br>  i+=n; <br>  return i; <br>} <br><br>絳?<br>鍥犱負(fù)static浣垮緱i鐨勫間細(xì)淇濈暀涓婃鐨勫箋?br>鍘繪帀static灝卞彲浜?br><br>--------------------------------------------------------------------------<br>23.涓嬮潰鐨勪唬鐮佹湁浠涔堥棶棰?<br>class A <br>{ <br>public: <br>  A() { p=this; } <br>  ~A() { if(p!=NULL) { delete p; p=NULL; } } <br><br>  A* p; <br>};<br><br>絳?<br>浼?xì)寮曡典h棤闄愰掑綊<br><br>--------------------------------------------------------------------------<br>24.<br>union a {<br> int a_int1;<br> double a_double;<br> int a_int2;<br>};<br><br>typedef struct<br>{<br> a a1;<br> char y;<br>} b;<br><br>class c<br>{<br> double c_double;<br> b b1;<br> a a2;<br><br>};<br><br>杈撳嚭cout<<sizeof(c)<<endl;鐨勭粨鏋?<br><br>絳?<br>VC6鐜涓嬪緱鍑虹殑緇撴灉鏄?2<br><br>鍙?<br>鎴?sun)鍦╒C6.0+win2k涓嬪仛榪囪瘯楠?<br>short - 2<br>int-4<br>float-4<br>double-8<br>鎸囬拡-4<br><br>sizeof(union)錛屼互緇撴瀯閲岄潰size鏈澶х殑涓簎nion鐨剆ize<br><br>瑙f瀽C璇█涓殑sizeof<br><br>涓銆乻izeof鐨勬蹇點(diǎn) <br>銆銆sizeof鏄疌璇█鐨勪竴縐嶅崟鐩搷浣滅錛屽C璇█鐨勫叾浠栨搷浣滅++銆?-絳夈傚畠騫朵笉鏄嚱鏁般俿izeof鎿嶄綔絎︿互瀛楄妭褰㈠紡緇欏嚭浜?jiǎn)鍏舵搷浣滄暟鐨勫瓨鍌ㄥぇ灏忋傛搷浣滄暟鍙互鏄竴涓〃杈懼紡鎴栨嫭鍦ㄦ嫭鍙峰唴鐨勭被鍨嬪悕銆傛搷浣滄暟鐨勫瓨鍌ㄥぇ灝忕敱鎿嶄綔鏁扮殑綾誨瀷鍐沖畾銆傘 <br><br>浜屻乻izeof鐨勪嬌鐢ㄦ柟娉曘 <br>銆銆1銆佺敤浜庢暟鎹被鍨嬨 <br><br>銆銆sizeof浣跨敤褰㈠紡錛歴izeof錛坱ype錛夈 <br><br>銆銆鏁版嵁綾誨瀷蹇呴』鐢ㄦ嫭鍙鋒嫭浣忋傚sizeof錛坕nt錛夈傘 <br><br>銆銆2銆佺敤浜庡彉閲忋 <br><br>銆銆sizeof浣跨敤褰㈠紡錛歴izeof錛坴ar_name錛夋垨sizeof銆var_name銆 <br><br>銆銆鍙橀噺鍚嶅彲浠ヤ笉鐢ㄦ嫭鍙鋒嫭浣忋傚sizeof銆(var_name)錛宻izeof銆var_name絳夐兘鏄紜艦寮忋傚甫鎷彿鐨勭敤娉曟洿鏅亶錛屽ぇ澶氭暟紼嬪簭鍛橀噰鐢ㄨ繖縐嶅艦寮忋傘 <br><br>銆銆娉ㄦ剰錛歴izeof鎿嶄綔絎︿笉鑳界敤浜庡嚱鏁扮被鍨嬶紝涓嶅畬鍏ㄧ被鍨嬫垨浣嶅瓧孌點(diǎn)備笉瀹屽叏綾誨瀷鎸囧叿鏈夋湭鐭ュ瓨鍌ㄥぇ灝忕殑鏁版嵁綾誨瀷錛屽鏈煡瀛樺偍澶у皬鐨勬暟緇勭被鍨嬨佹湭鐭ュ唴瀹圭殑緇撴瀯鎴栬仈鍚堢被鍨嬨乿oid綾誨瀷絳夈傘 <br><br>銆銆濡俿izeof(max)鑻ユ鏃跺彉閲弇ax瀹氫箟涓篿nt銆max(),sizeof(char_v)銆鑻ユ鏃禼har_v瀹氫箟涓篶har銆char_v銆[MAX]涓擬AX鏈煡錛宻izeof(void)閮戒笉鏄紜艦寮忋傘 <br><br>涓夈乻izeof鐨勭粨鏋溿 <br>銆銆sizeof鎿嶄綔絎︾殑緇撴灉綾誨瀷鏄痵ize_t錛屽畠鍦ㄥご鏂囦歡<br><br>涓璽ypedef涓簎nsigned銆int綾誨瀷銆傝綾誨瀷淇濊瘉鑳藉綰沖疄鐜版墍寤虹珛鐨勬渶澶у璞$殑瀛楄妭澶у皬銆傘 <br><br>銆銆1銆佽嫢鎿嶄綔鏁板叿鏈夌被鍨媍har銆乽nsigned銆char鎴杝igned銆char錛屽叾緇撴灉絳変簬1銆傘 <br><br>銆銆ANSI銆C姝e紡瑙勫畾瀛楃綾誨瀷涓?瀛楄妭銆傘 <br><br>銆銆2銆乮nt銆乽nsigned銆int銆銆乻hort銆int銆乽nsigned銆short銆銆乴ong銆int銆銆乽nsigned銆long銆銆?nbsp;float銆乨ouble銆乴ong銆double綾誨瀷鐨剆izeof銆鍦ˋNSI銆C涓病鏈夊叿浣撹瀹氾紝澶у皬渚濊禆浜庡疄鐜幫紝涓鑸彲鑳藉垎鍒負(fù)2銆?銆?銆?銆?nbsp;4銆?銆?銆?銆?0銆傘 <br><br>銆銆3銆佸綋鎿嶄綔鏁版槸鎸囬拡鏃訛紝sizeof渚濊禆浜庣紪璇戝櫒銆備緥濡侻icrosoft銆C/C++7.0涓紝near綾繪寚閽堝瓧鑺傛暟涓?錛宖ar銆乭uge綾繪寚閽堝瓧鑺傛暟涓?銆備竴鑸琔nix鐨勬寚閽堝瓧鑺傛暟涓?銆傘 <br><br>銆銆4銆佸綋鎿嶄綔鏁板叿鏈夋暟緇勭被鍨嬫椂錛屽叾緇撴灉鏄暟緇勭殑鎬誨瓧鑺傛暟銆傘 <br><br>銆銆5銆佽仈鍚堢被鍨嬫搷浣滄暟鐨剆izeof鏄叾鏈澶у瓧鑺傛垚鍛樼殑瀛楄妭鏁般傜粨鏋勭被鍨嬫搷浣滄暟鐨剆izeof鏄繖縐嶇被鍨嬪璞$殑鎬誨瓧鑺傛暟錛屽寘鎷換浣曞灚琛ュ湪鍐呫傘 <br><br>銆銆璁╂垜浠湅濡備笅緇撴瀯錛氥 <br><br>銆銆struct銆{char銆b;銆double銆x;}銆a;銆 <br><br>銆銆鍦ㄦ煇浜涙満鍣ㄤ笂sizeof錛坅錛?12錛岃屼竴鑸瑂izeof錛坈har錛?銆sizeof錛坉ouble錛?9銆傘 <br><br>銆銆榪欐槸鍥犱負(fù)緙栬瘧鍣ㄥ湪鑰冭檻瀵歸綈闂鏃訛紝鍦ㄧ粨鏋勪腑鎻掑叆絀轟綅浠ユ帶鍒跺悇鎴愬憳瀵硅薄鐨勫湴鍧瀵歸綈銆傚double綾誨瀷鐨勭粨鏋勬垚鍛榵瑕佹斁鍦ㄨ4鏁撮櫎鐨勫湴鍧銆傘 <br><br>銆銆6銆佸鏋滄搷浣滄暟鏄嚱鏁頒腑鐨勬暟緇勫艦鍙傛垨鍑芥暟綾誨瀷鐨勫艦鍙傦紝sizeof緇欏嚭鍏舵寚閽堢殑澶у皬銆傘 <br><br>鍥涖乻izeof涓庡叾浠栨搷浣滅鐨勫叧緋匯 <br>銆銆sizeof鐨勪紭鍏堢駭涓?綰э紝姣?銆?絳?綰ц繍綆楃浼樺厛綰ч珮銆傚畠鍙互涓庡叾浠栨搷浣滅涓璧風(fēng)粍鎴愯〃杈懼紡銆傚i*sizeof錛坕nt錛夛紱鍏朵腑i涓篿nt綾誨瀷鍙橀噺銆傘 <br><br>浜斻乻izeof鐨勪富瑕佺敤閫斻 <br>銆銆1銆乻izeof鎿嶄綔絎︾殑涓涓富瑕佺敤閫旀槸涓庡瓨鍌ㄥ垎閰嶅拰I/O緋葷粺閭f牱鐨勪緥紼嬭繘琛岄氫俊銆備緥濡傦細(xì)銆 <br><br>銆銆void銆*malloc錛坰ize_t銆size錛?銆 <br><br>銆銆size_t銆fread(void銆*銆ptr,size_t銆size,size_t銆nmemb,FILE銆*銆stream)銆傘 <br><br>銆銆2銆乻izeof鐨勫彟涓涓殑涓昏鐢ㄩ旀槸璁$畻鏁扮粍涓厓绱犵殑涓暟銆備緥濡傦細(xì)銆 <br><br>銆銆void銆*銆memset錛坴oid銆*銆s,int銆c,sizeof(s)錛夈傘 <br><br>鍏佸緩璁 <br>銆銆鐢變簬鎿嶄綔鏁扮殑瀛楄妭鏁板湪瀹炵幇鏃跺彲鑳藉嚭鐜板彉鍖栵紝寤鴻鍦ㄦ秹鍙?qiáng)鍒版搷浣滄暟瀛楄妭澶畯鏃剁敤sizeof鏉ヤ唬鏇垮父閲忚綆椼?br><br><br>=============================================================<br>鏈枃涓昏鍖呮嫭浜屼釜閮ㄥ垎錛岀涓閮ㄥ垎閲嶇偣浠嬬粛鍦╒C涓紝鎬庝箞鏍烽噰鐢╯izeof鏉ユ眰緇撴瀯鐨勫ぇ灝忥紝浠ュ強(qiáng)瀹規(guī)槗鍑虹幇鐨勯棶棰橈紝騫剁粰鍑?guó)櫑e喅闂鐨勬栆?guī)硶錛岀浜岄儴鍒嗘葷粨鍑篤C涓璼izeof鐨勪富瑕佺敤娉曘?nbsp;<br><br>1銆?nbsp;sizeof搴旂敤鍦ㄧ粨鏋勪笂鐨勬儏鍐?nbsp;<br><br>璇風(fēng)湅涓嬮潰鐨勭粨鏋勶細(xì) <br><br>struct MyStruct <br><br>{ <br><br>double dda1; <br><br>char dda; <br><br>int type <br><br>}; <br><br>瀵圭粨鏋凪yStruct閲囩敤sizeof浼?xì)鍑虹庮C粈涔堢粨鏋滃憿錛焥izeof(MyStruct)涓哄灝戝憿錛熶篃璁鎬綘浼?xì)杩欐犱h眰錛?nbsp;<br><br>sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13 <br><br>浣嗘槸褰撳湪VC涓祴璇曚笂闈㈢粨鏋勭殑澶у皬鏃訛紝浣犱細(xì)鍙戠幇sizeof(MyStruct)涓?6銆備綘鐭ラ亾涓轟粈涔堝湪VC涓細(xì)寰楀嚭榪欐牱涓涓粨鏋滃悧錛?nbsp;<br><br>鍏跺疄錛岃繖鏄疺C瀵瑰彉閲忓瓨鍌ㄧ殑涓涓壒孌婂鐞嗐備負(fù)浜?jiǎn)鎻愰珮CPU鐨勫瓨鍌ㄩ熷害錛孷C瀵逛竴浜涘彉閲忕殑璧峰鍦板潃鍋氫簡(jiǎn)"瀵歸綈"澶勭悊銆傚湪榛樿鎯呭喌涓嬶紝VC瑙勫畾鍚勬垚鍛樺彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺蹇呴』涓鴻鍙橀噺鐨勭被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟鐨勫嶆暟銆備笅闈㈠垪鍑哄父鐢ㄧ被鍨嬬殑瀵歸綈鏂瑰紡(vc6.0,32浣嶇郴緇?銆?nbsp;<br><br>綾誨瀷 <br>瀵歸綈鏂瑰紡錛堝彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺錛?nbsp;<br><br>Char <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(char)鍗?鐨勫嶆暟 <br><br>int <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(int)鍗?鐨勫嶆暟 <br><br>float <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(float)鍗?鐨勫嶆暟 <br><br>double <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(double)鍗?鐨勫嶆暟 <br><br>Short <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(short)鍗?鐨勫嶆暟 <br><br><br>鍚勬垚鍛樺彉閲忓湪瀛樻斁鐨勬椂鍊欐牴鎹湪緇撴瀯涓嚭鐜扮殑欏哄簭渚濇鐢寵絀洪棿錛屽悓鏃舵寜鐓т笂闈㈢殑瀵歸綈鏂瑰紡璋冩暣浣嶇疆錛岀┖緙虹殑瀛楄妭VC浼?xì)鑷姩濉厖銆傚悓鏃禫C涓轟簡(jiǎn)紜繚緇撴瀯鐨勫ぇ灝忎負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆璇ョ粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛夌殑鍊嶆暟錛屾墍浠ュ湪涓烘渶鍚庝竴涓垚鍛樺彉閲忕敵璇風(fēng)┖闂村悗錛岃繕?shù)細(xì)鏍规嵁闇瑕佽嚜鍔ㄥ~鍏呯┖緙虹殑瀛楄妭銆?nbsp;<br><br>涓嬮潰鐢ㄥ墠闈㈢殑渚嬪瓙鏉ヨ鏄嶸C鍒板簳鎬庝箞鏍鋒潵瀛樻斁緇撴瀯鐨勩?nbsp;<br><br>struct MyStruct <br><br>{ <br><br>double dda1; <br><br>char dda; <br><br>int type <br><br>}錛?nbsp;<br><br>涓轟笂闈㈢殑緇撴瀯鍒嗛厤絀洪棿鐨勬椂鍊欙紝VC鏍規(guī)嵁鎴愬憳鍙橀噺鍑虹幇鐨勯『搴忓拰瀵歸綈鏂瑰紡錛屽厛涓虹涓涓垚鍛榙da1鍒嗛厤絀洪棿錛屽叾璧峰鍦板潃璺熺粨鏋勭殑璧峰鍦板潃鐩稿悓錛堝垰濂藉亸縐婚噺0鍒氬ソ涓簊izeof(double)鐨勫嶆暟錛夛紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(double)=8涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎簩涓垚鍛榙da鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屾槸sizeof(char)鐨勫嶆暟錛屾墍浠ユ妸dda瀛樻斁鍦ㄥ亸縐婚噺涓?鐨勫湴鏂規(guī)弧瓚沖榻愭柟寮忥紝璇ユ垚鍛樺彉閲忓崰鐢?nbsp;sizeof(char)=1涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎笁涓垚鍛榯ype鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof (int)=4鐨勫嶆暟錛屼負(fù)浜?jiǎn)婊…憶_榻愭柟寮忓鍋忕Щ閲忕殑綰︽潫闂錛孷C鑷姩濉厖3涓瓧鑺傦紙榪欎笁涓瓧鑺傛病鏈夋斁浠涔堜笢瑗匡級(jí)錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?2錛屽垰濂芥槸sizeof(int)=4鐨勫嶆暟錛屾墍浠ユ妸type瀛樻斁鍦ㄥ亸縐婚噺涓?2鐨勫湴鏂癸紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(int)=4涓瓧鑺傦紱榪欐椂鏁翠釜緇撴瀯鐨勬垚鍛樺彉閲忓凡緇忛兘鍒嗛厤浜?jiǎn)绌洪椷_(dá)紝鎬葷殑鍗犵敤鐨勭┖闂村ぇ灝忎負(fù)錛?+1+3+4=16錛屽垰濂戒負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆緇撴瀯涓崰鐢ㄦ渶澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof(double)=8錛夌殑鍊嶆暟錛屾墍浠ユ病鏈夌┖緙虹殑瀛楄妭闇瑕佸~鍏呫傛墍浠ユ暣涓粨鏋勭殑澶у皬涓猴細(xì)sizeof(MyStruct)=8+1+ 3+4=16錛屽叾涓湁3涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?nbsp;<br><br>涓嬮潰鍐嶄婦涓緥瀛愶紝浜ゆ崲涓涓嬩笂闈㈢殑MyStruct鐨勬垚鍛樺彉閲忕殑浣嶇疆錛屼嬌瀹冨彉鎴愪笅闈㈢殑鎯呭喌錛?nbsp;<br><br>struct MyStruct <br><br>{ <br><br>char dda; <br><br>double dda1;   <br><br>int type <br><br>}錛?nbsp;<br><br>榪欎釜緇撴瀯鍗犵敤鐨勭┖闂翠負(fù)澶氬ぇ鍛紵鍦╒C6.0鐜涓嬶紝鍙互寰楀埌sizeof(MyStruc)涓?4銆傜粨鍚堜笂闈㈡彁鍒扮殑鍒嗛厤絀洪棿鐨勪竴浜涘師鍒欙紝鍒嗘瀽涓媀C鎬庝箞鏍蜂負(fù)涓婇潰鐨勭粨鏋勫垎閰嶇┖闂寸殑銆傦紙綆鍗曡鏄庯級(jí) <br><br>struct MyStruct <br><br>{ <br><br>  char dda;//鍋忕Щ閲忎負(fù)0錛屾弧瓚沖榻愭柟寮忥紝dda鍗犵敤1涓瓧鑺傦紱 <br><br>double dda1;//涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof(double)=8 <br><br>             //鐨勫嶆暟錛岄渶瑕佽ˉ瓚?涓瓧鑺傛墠鑳戒嬌鍋忕Щ閲忓彉?shù)?錛堟弧瓚沖榻?nbsp;<br><br>             //鏂瑰紡錛夛紝鍥犳VC鑷姩濉厖7涓瓧鑺傦紝dda1瀛樻斁鍦ㄥ亸縐婚噺涓? <br><br>             //鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?nbsp;<br><br>int type錛?/涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?6錛屾槸sizeof(int)=4鐨勫?nbsp;<br><br>           //鏁幫紝婊¤凍int鐨勫榻愭柟寮忥紝鎵浠ヤ笉闇瑕乂C鑷姩濉厖錛宼ype瀛?nbsp;<br><br>           //鏀懼湪鍋忕Щ閲忎負(fù)16鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?nbsp;<br><br>}錛?/鎵鏈夋垚鍛樺彉閲忛兘鍒嗛厤浜?jiǎn)绌洪椷_(dá)紝絀洪棿鎬葷殑澶у皬涓?+7+8+4=20錛屼笉鏄粨鏋?nbsp;<br><br>   //鐨勮妭杈圭晫鏁幫紙鍗崇粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof <br><br>   //(double)=8錛夌殑鍊嶆暟錛屾墍浠ラ渶瑕佸~鍏?涓瓧鑺傦紝浠ユ弧瓚崇粨鏋勭殑澶у皬涓?nbsp;<br><br>   //sizeof(double)=8鐨勫嶆暟銆?nbsp;<br><br><br>鎵浠ヨ緇撴瀯鎬葷殑澶у皬涓猴細(xì)sizeof(MyStruc)涓?+7+8+4+4=24銆傚叾涓葷殑鏈?+4=11涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?nbsp;<br><br><br>VC瀵圭粨鏋勭殑瀛樺偍鐨勭壒孌婂鐞嗙‘瀹炴彁楂楥PU瀛樺偍鍙橀噺鐨勯熷害錛屼絾鏄湁鏃跺欎篃甯︽潵浜?jiǎn)涓浜涢夯鐑?chǔ)锛屾垜浠篃灞忚斀鎺夊彉閲忛粯璁ょ殑瀵归綈鏂瑰紡锛岃嚜宸卞彲浠ヨ畱之氬彉閲忕殑瀵归綈鏂瑰紡銆?nbsp;<br><br>VC 涓彁渚涗簡(jiǎn)#pragma pack(n)鏉ヨ瀹氬彉閲忎互n瀛楄妭瀵歸綈鏂瑰紡銆俷瀛楄妭瀵歸綈灝辨槸璇村彉閲忓瓨鏀劇殑璧峰鍦板潃鐨勫亸縐婚噺鏈変袱縐嶆儏鍐碉細(xì)絎竴銆佸鏋渘澶т簬絳変簬璇ュ彉閲忔墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺蹇呴』婊¤凍榛樿鐨勫榻愭柟寮忥紝絎簩銆佸鏋渘灝忎簬璇ュ彉閲忕殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺涓簄鐨勫嶆暟錛屼笉鐢ㄦ弧瓚抽粯璁ょ殑瀵歸綈鏂瑰紡銆傜粨鏋勭殑鎬誨ぇ灝忎篃鏈変釜綰︽潫鏉′歡錛屽垎涓嬮潰涓ょ鎯呭喌錛氬鏋渘澶т簬鎵鏈夋垚鍛樺彉閲忕被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堢粨鏋勭殑鎬誨ぇ灝忓繀欏諱負(fù)鍗犵敤絀洪棿鏈澶х殑鍙橀噺鍗犵敤鐨勭┖闂存暟鐨勫嶆暟錛?nbsp; <br><br>鍚﹀垯蹇呴』涓簄鐨勫嶆暟銆備笅闈婦渚嬭鏄庡叾鐢ㄦ硶銆?nbsp;<br><br>#pragma pack(push) //淇濆瓨瀵歸綈鐘舵?nbsp;<br><br>#pragma pack(4)//璁懼畾涓?瀛楄妭瀵歸綈 <br><br>struct test <br><br>{ <br><br>  char m1; <br><br>  double m4; <br><br>  int  m3; <br><br>}; <br><br>#pragma pack(pop)//鎭㈠瀵歸綈鐘舵?nbsp;<br><br>浠ヤ笂緇撴瀯鐨勫ぇ灝忎負(fù)16錛屼笅闈㈠垎鏋愬叾瀛樺偍鎯呭喌錛岄鍏堜負(fù)m1鍒嗛厤絀洪棿錛屽叾鍋忕Щ閲忎負(fù)0錛屾弧瓚蟲(chóng)垜浠嚜宸辮瀹氱殑瀵歸綈鏂瑰紡錛?瀛楄妭瀵歸綈錛夛紝m1鍗犵敤1涓瓧鑺傘傛帴鐫寮濮嬩負(fù) m4鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)1錛岄渶瑕佽ˉ瓚?涓瓧鑺傦紝榪欐牱浣垮亸縐婚噺婊¤凍涓簄=4鐨勫嶆暟錛堝洜涓簊izeof(double)澶т簬n錛?m4鍗犵敤8涓瓧鑺傘傛帴鐫涓簃3鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)12錛屾弧瓚充負(fù)4鐨勫嶆暟錛宮3鍗犵敤4涓瓧鑺傘傝繖鏃跺凡緇忎負(fù)鎵鏈夋垚鍛樺彉閲忓垎閰嶄簡(jiǎn)絀洪棿錛屽叡鍒嗛厤浜?6涓瓧鑺傦紝婊¤凍涓簄鐨勫嶆暟銆傚鏋滄妸涓婇潰鐨?pragma pack(4)鏀逛負(fù)#pragma pack(16)錛岄偅涔堟垜浠彲浠ュ緱鍒扮粨鏋勭殑澶у皬涓?4銆傦紙璇瘋鑰呰嚜宸卞垎鏋愶級(jí) <br><br>2銆?nbsp;sizeof鐢ㄦ硶鎬葷粨 <br><br>鍦╒C涓紝sizeof鏈夌潃璁稿鐨勭敤娉曪紝鑰屼笖寰堝鏄撳紩璧蜂竴浜涢敊璇備笅闈㈡牴鎹畇izeof鍚庨潰鐨勫弬鏁板sizeof鐨勭敤娉曞仛涓葷粨銆?nbsp;<br><br>A錛?nbsp; 鍙傛暟涓烘暟鎹被鍨嬫垨鑰呬負(fù)涓鑸彉閲忋備緥濡俿izeof(int),sizeof(long)絳夌瓑銆傝繖縐嶆儏鍐佃娉ㄦ剰鐨勬槸涓嶅悓緋葷粺緋葷粺鎴栬呬笉鍚岀紪璇戝櫒寰楀埌鐨勭粨鏋滃彲鑳芥槸涓嶅悓鐨勩備緥濡俰nt綾誨瀷鍦?6浣嶇郴緇熶腑鍗?涓瓧鑺傦紝鍦?2浣嶇郴緇熶腑鍗?涓瓧鑺傘?nbsp;<br><br>B錛?nbsp; 鍙傛暟涓烘暟緇勬垨鎸囬拡銆備笅闈婦渚嬭鏄? <br><br>int a[50];  //sizeof(a)=4*50=200; 姹傛暟緇勬墍鍗犵殑絀洪棿澶у皬 <br><br>int *a=new int[50];// sizeof(a)=4; a涓轟竴涓寚閽堬紝sizeof(a)鏄眰鎸囬拡 <br><br>                   //鐨勫ぇ灝?鍦?2浣嶇郴緇熶腑錛屽綋鐒舵槸鍗?涓瓧鑺傘?nbsp;<br><br>C錛?nbsp; 鍙傛暟涓虹粨鏋勬垨綾匯係izeof搴旂敤鍦ㄧ被鍜岀粨鏋勭殑澶勭悊鎯呭喌鏄浉鍚岀殑銆備絾鏈変袱鐐歸渶瑕佹敞鎰忥紝絎竴銆佺粨鏋勬垨鑰呯被涓殑闈?rùn)鎬佹垚鍛樹(shù)笉瀵圭粨鏋勬垨鑰呯被鐨勫ぇ灝忎駭鐢熷獎(jiǎng)鍝嶏紝鍥犱負(fù)闈?rùn)鎬佸彉閲忕殑瀛樺偍浣嶇疆涓庣粨鏋勬垨鑰呯被鐨勫疄渚嬪湴鍧鏃犲叧銆?nbsp;<br><br>絎簩銆佹病鏈夋垚鍛樺彉閲忕殑緇撴瀯鎴栫被鐨勫ぇ灝忎負(fù)1錛屽洜涓哄繀欏諱繚璇佺粨鏋勬垨綾葷殑姣忎竴 <br><br>涓疄渚嬪湪鍐呭瓨?shù)腑閮芥湁鍞竴鐨勫湴鍧銆?nbsp;<br><br>涓嬮潰涓句緥璇存槑錛?nbsp;<br><br>Class Test{int a;static double c};//sizeof(Test)=4. <br><br>Test *s;//sizeof(s)=4,s涓轟竴涓寚閽堛?nbsp;<br><br>Class test1{ };//sizeof(test1)=1; <br><br>D錛?nbsp; 鍙傛暟涓哄叾浠栥備笅闈婦渚嬭鏄庛?nbsp;<br><br>   int func(char s[5]); <br><br>   { <br><br>     cout<<sizeof(s);//榪欓噷灝嗚緭鍑?錛屾湰鏉涓轟竴涓暟緇勶紝浣嗙敱浜庡仛涓哄嚱 <br><br>                     //鏁扮殑鍙傛暟鍦ㄤ紶閫掔殑鏃跺欑郴緇熷鐞嗕負(fù)涓涓寚閽堬紝鎵 <br><br>                     //浠izeof(s)瀹為檯涓婁負(fù)姹傛寚閽堢殑澶у皬銆?nbsp;<br><br>     return 1; <br><br>} <br><br>sizeof(func("1234"))=4//鍥犱負(fù)func鐨勮繑鍥炵被鍨嬩負(fù)int錛屾墍浠ョ浉褰撲簬 <br><br>                     //姹俿izeof(int). <br><br><br>浠ヤ笂涓簊izeof鐨勫熀鏈敤娉曪紝鍦ㄥ疄闄呯殑浣跨敤涓娉ㄦ剰鍒嗘瀽VC鐨勫垎閰嶅彉閲忕殑鍒嗛厤絳栫暐錛岃繖鏍風(fēng)殑璇濆彲浠ラ伩鍏嶄竴浜涢敊璇?nbsp;<br><br><br>--------------------------------------------------------------------------<br>25.i鏈鍚庣瓑浜庡灝?<br>int i = 1;<br>int j = i++;<br>if((i>j++) && (i++ == j)) i+=j;<br><br>絳?<br>i = 5<br><br>--------------------------------------------------------------------------<br>26.<br>unsigned short array[]={1,2,3,4,5,6,7};<br>int i = 3;<br>*(array + i) = ?<br><br>絳?<br>4<br><br>--------------------------------------------------------------------------<br>27.<br>class A<br>{<br>  virtual void func1()錛?br>  void func2();<br>}<br>Class B: class A<br>{<br>  void func1(){cout << "fun1 in class B" << endl;}<br>  virtual void func2(){cout << "fun2 in class B" << endl;}<br>} <br>A, A涓殑func1鍜孊涓殑func2閮芥槸铏氬嚱鏁?<br>B, A涓殑func1鍜孊涓殑func2閮戒笉鏄櫄鍑芥暟.<br>C, A涓殑func2鏄櫄鍑芥暟.錛孊涓殑func1涓嶆槸铏氬嚱鏁?<br>D, A涓殑func2涓嶆槸铏氬嚱鏁幫紝B涓殑func1鏄櫄鍑芥暟.<br><br>絳?<br>A<br><br>--------------------------------------------------------------------------<br>28.<br>鏁版嵁搴擄細(xì)鎶藉嚭閮ㄩ棬錛屽鉤鍧囧伐璧勶紝瑕佹眰鎸夐儴闂ㄧ殑瀛楃涓查『搴忔帓搴忥紝涓嶈兘鍚湁"human resource"閮ㄩ棬錛?br><br>employee緇撴瀯濡備笅錛歟mployee_id, employee_name, depart_id,depart_name,wage<br><br>絳?<br>select depart_name, avg(wage)<br>from employee<br>where depart_name <> 'human resource'<br>group by depart_name<br>order by depart_name<br><br>--------------------------------------------------------------------------<br>29.<br>緇欏畾濡備笅SQL鏁版嵁搴擄細(xì)Test(num INT(4)) 璇風(fēng)敤涓鏉QL璇彞榪斿洖num鐨勬渶灝忓鹼紝浣嗕笉璁鎬嬌鐢ㄧ粺璁″姛鑳斤紝濡侻IN錛孧AX絳?br><br>絳?<br>select top 1 num<br>from Test<br>order by num desc<br><br>--------------------------------------------------------------------------<br>30.<br>杈撳嚭涓嬮潰紼嬪簭緇撴灉銆?nbsp;<br><br>#include <iostream.h> <br><br>class A <br>{ <br>public:<br> virtual void print(void) <br> { <br>    cout<<"A::print()"<<endl; <br> } <br>};<br>class B:public A <br>{ <br>public:<br> virtual void print(void) <br> { <br>   cout<<"B::print()"<<endl;<br> }; <br>}; <br>class C:public B<br>{<br>public:<br> virtual void print(void)<br> {<br>  cout<<"C::print()"<<endl;<br> }<br>};<br>void print(A a) <br>{ <br>   a.print(); <br>} <br>void main(void) <br>{ <br>   A a, *pa,*pb,*pc; <br>   B b; <br>   C c; <br>   <br>   pa=&a; <br>   pb=&b; <br>   pc=&c; <br>   <br>   a.print(); <br>   b.print(); <br>   c.print(); <br>   <br>   pa->print(); <br>   pb->print(); <br>   pc->print(); <br>   <br>   print(a); <br>   print(b); <br>   print(c); <br>}<br><br>A:<br>A::print()<br>B::print()<br>C::print()<br>A::print()<br>B::print()<br>C::print()<br>A::print()<br>A::print()<br>A::print()<br><br>--------------------------------------------------------------------------<br>31.<br>璇曠紪鍐欏嚱鏁板垽鏂綆楁満鐨勫瓧鑺傚瓨鍌ㄩ『搴忔槸寮搴?little endian)榪樻槸闄嶅簭(bigendian)<br><br>絳?<br>bool IsBigendian()<br>{<br> unsigned short usData = 0x1122;<br> unsigned char  *pucData = (unsigned char*)&usData;<br><br> return (*pucData == 0x22);<br>}<br><br>--------------------------------------------------------------------------<br>32.綆榪癈ritical Section鍜孧utex鐨勪笉鍚岀偣<br><br>絳?<br>瀵瑰嚑縐嶅悓姝ュ璞$殑鎬葷粨<br>1.Critical Section<br>A.閫熷害蹇?br>B.涓嶈兘鐢ㄤ簬涓嶅悓榪涚▼<br>C.涓嶈兘榪涜璧勬簮緇熻(姣忔鍙彲浠ユ湁涓涓嚎紼嬪鍏變韓璧勬簮榪涜瀛樺彇)<br><br>2.Mutex<br>A.閫熷害鎱?br>B.鍙敤浜庝笉鍚岃繘紼?br>C.涓嶈兘榪涜璧勬簮緇熻<br><br>3.Semaphore<br>A.閫熷害鎱?br>B.鍙敤浜庝笉鍚岃繘紼?br>C.鍙繘琛岃祫婧愮粺璁?鍙互璁╀竴涓垨瓚呰繃涓涓嚎紼嬪鍏變韓璧勬簮榪涜瀛樺彇)<br><br>4.Event<br>A.閫熷害鎱?br>B.鍙敤浜庝笉鍚岃繘紼?br>C.鍙繘琛岃祫婧愮粺璁?br><br><br>--------------------------------------------------------------------------<br>33.涓涓暟鎹簱涓湁涓や釜琛?<br>涓寮犺〃涓篊ustomer錛屽惈瀛楁ID,Name;<br>涓寮犺〃涓篛rder錛屽惈瀛楁ID,CustomerID錛堣繛鍚慍ustomer涓璉D鐨勫閿級(jí),Revenue錛?br>鍐欏嚭姹傛瘡涓狢ustomer鐨凴evenue鎬誨拰鐨凷QL璇彞銆?br><br>寤鴻〃<br>create table customer<br>(<br>ID int primary key,Name char(10)<br>)<br><br>go<br><br>create table [order]<br>(<br>ID int primary key,CustomerID  int foreign key references customer(id) , Revenue float<br>)<br><br>go<br><br>--鏌ヨ<br>select Customer.ID, sum( isnull([Order].Revenue,0) )<br>from customer full join [order] <br>on( [order].customerid=customer.id )<br>group by customer.id<br><br>--------------------------------------------------------------------------<br>34.璇鋒寚鍑轟笅鍒楃▼搴忎腑鐨勯敊璇茍涓斾慨鏀?br>void GetMemory(char *p){<br>  p=(char *)malloc(100);<br>}<br>void Test(void){<br>  char *str=NULL;<br>  GetMemory=(str);<br>  strcpy(str,"hello world");<br>  printf(str);<br>}<br><br>A:閿欒--鍙傛暟鐨勫兼敼鍙樺悗錛屼笉浼?xì)浼犲?br>GetMemory騫朵笉鑳戒紶閫掑姩鎬佸唴瀛橈紝Test鍑芥暟涓殑 str涓鐩撮兘鏄?nbsp;NULL銆?br>strcpy(str, "hello world");灝嗕嬌紼嬪簭宕╂簝銆?br><br>淇敼濡備笅:<br>char *GetMemory(){<br>  char *p=(char *)malloc(100);<br>  return p;<br>}<br>void Test(void){<br>  char *str=NULL;<br>  str=GetMemory(){<br>  strcpy(str,"hello world");<br>  printf(str);<br>}<br><br>鏂規(guī)硶浜?void GetMemory2(char **p)鍙樹(shù)負(fù)浜岀駭鎸囬拡.<br>void GetMemory2(char **p, int num)<br>{<br> *p = (char *)malloc(sizeof(char) * num);<br>}<br><br>--------------------------------------------------------------------------<br>35.紼嬪簭鏀歸敊<br>class mml<br>{<br>  private:<br>    static unsigned int x;<br>  public:<br>    mml(){ x++; }<br>    mml(static unsigned int &) {x++;}<br>    ~mml{x--;}<br>  pulic:<br>    virtual mon() {} = 0;<br>    static unsigned int mmc(){return x;}<br>    ......                      <br> <br>};<br>class nnl:public mml<br>{<br>  private:<br>    static unsigned int y;<br>  public:<br>    nnl(){ x++; }<br>    nnl(static unsigned int &) {x++;}<br>    ~nnl{x--;}<br>  public:<br>    virtual mon() {};<br>     static unsigned int nnc(){return y;}<br>    ......                   <br>};<br><br>浠g爜鐗囨柇:<br>mml* pp = new nnl;<br>..........<br>delete pp;<br><br><br>A:<br>鍩虹被鐨勬瀽鏋勫嚱鏁板簲璇ヤ負(fù)铏氬嚱鏁?br>virtual ~mml{x--;}<br><br>--------------------------------------------------------------------------<br>36.101涓‖甯?00鐪熴?鍋囷紝鐪熷亣鍖哄埆鍦ㄤ簬閲嶉噺銆傝鐢ㄦ棤鐮濈爜澶╁鉤縐頒袱嬈$粰鍑虹湡甯侀噸榪樻槸鍋囧竵閲嶇殑緇撹銆?br><br>絳?<br>101涓厛鍙栧嚭2鍫?<br>33,33<br>絎竴嬈$О,濡傛灉涓嶇浉絳?璇存槑鏈変竴鍫嗛噸鎴栬交<br>閭d箞鎶婇噸鐨勯偅鍫嗘嬁涓嬫潵,鍐嶆斁鍙﹀35涓腑鐨?3<br>濡傛灉鐩哥瓑,璇存槑鍋囩殑閲?濡傛灉涓嶇浉絳?鏂版斁涓婂幓鐨勮繕鏄噸鐨勮瘽,璇存槑鍋囩殑杞?涓嶅彲鑳芥柊鏀句笂鍘葷殑杞?<br><br>絎竴嬈$О,濡傛灉鐩哥瓑鐨勮瘽錛岃繖66涓偗瀹氶兘鏄湡鐨?浠庤繖66涓腑鍙栧嚭35涓潵,涓庡墿涓嬬殑娌$О榪囩殑35涓瘮<br>涓嬮潰灝變笉鐢ㄨ浜?br><br>鏂規(guī)硶浜?<br>絎?棰樹(shù)篃鍙互鎷緼(50),B(50)姣斾竴涓嬶紝涓鏍風(fēng)殑璇濇嬁鍓╀笅鐨勪竴涓拰鐪熺殑姣斾竴涓嬨?br>濡傛灉涓嶄竴鏍鳳紝灝辨嬁鍏朵腑鐨勪竴鍫嗐傛瘮濡侫(50)鍐嶅垎鎴愪袱鍫?5姣斾竴涓嬶紝涓鏍風(fēng)殑璇濆氨鍦?br>B(50)涓紝涓嶄竴鏍峰氨鍦ˋ(50)涓紝緇撳悎絎竴嬈$殑緇撴灉灝辯煡閬撲簡(jiǎn)銆?br><br>--------------------------------------------------------------------------<br>37.static鍙橀噺鍜宻tatic 鍑芥暟鍚勬湁浠涔堢壒鐐癸紵<br><br>絳?<br>static鍙橀噺錛氬湪紼嬪簭榪愯鏈熷唴涓鐩存湁鏁堬紝濡傛灉瀹氫箟鍦ㄥ嚱鏁板錛屽垯鍦ㄧ紪璇戝崟鍏冨唴鍙錛屽鏋滃湪鍑芥暟鍐咃紝鍦ㄥ湪瀹氫箟鐨刡lock鍐呭彲瑙侊紱<br>static鍑芥暟錛氬湪緙栬瘧鍗曞厓鍐呭彲瑙侊紱<br><br>--------------------------------------------------------------------------<br>38.鐢– 鍐欎竴涓緭鍏ョ殑鏁存暟,鍊掔潃杈撳嚭鏁存暟鐨勫嚱鏁?瑕佹眰鐢ㄩ掑綊鏂規(guī)硶 ;<br><br>絳?<br>void fun( int a )<br>{<br> printf( "%d", a%10 );<br> a /= 10;<br> if( a <=0 )return;<br><br> fun( a );<br>}<br><br>--------------------------------------------------------------------------<br>39.鍐欏嚭紼嬪簭緇撴灉:<br>void Func(char str[100])<br>{<br>  printf("%d\n", sizeof(str));<br>}<br><br>絳?<br>4<br>鍒嗘瀽:<br>鎸囬拡闀垮害<br><br>--------------------------------------------------------------------------<br>40.int id[sizeof(unsigned long)];<br>    榪欎釜瀵瑰悧錛熶負(fù)浠涔??<br><br>絳?<br>瀵?br>榪欎釜 sizeof鏄紪璇戞椂榪愮畻絎︼紝緙栬瘧鏃跺氨紜畾浜?br>鍙互鐪嬫垚鍜屾満鍣ㄦ湁鍏崇殑甯擱噺銆?br><br><br>鏈枃涓昏鍖呮嫭浜屼釜閮ㄥ垎錛岀涓閮ㄥ垎閲嶇偣浠嬬粛鍦╒C涓紝鎬庝箞鏍烽噰鐢╯izeof鏉ユ眰緇撴瀯鐨勫ぇ灝忥紝浠ュ強(qiáng)瀹規(guī)槗鍑虹幇鐨勯棶棰橈紝騫剁粰鍑?guó)櫑e喅闂鐨勬栆?guī)硶錛岀浜岄儴鍒嗘葷粨鍑篤C涓璼izeof鐨勪富瑕佺敤娉曘?nbsp;<br><br>1銆?nbsp;sizeof搴旂敤鍦ㄧ粨鏋勪笂鐨勬儏鍐?nbsp;<br><br>璇風(fēng)湅涓嬮潰鐨勭粨鏋勶細(xì) <br><br>struct MyStruct <br><br>{ <br><br>double dda1; <br><br>char dda; <br><br>int type <br><br>}; <br><br>瀵圭粨鏋凪yStruct閲囩敤sizeof浼?xì)鍑虹庮C粈涔堢粨鏋滃憿錛焥izeof(MyStruct)涓哄灝戝憿錛熶篃璁鎬綘浼?xì)杩欐犱h眰錛?nbsp;<br><br>sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13 <br><br>浣嗘槸褰撳湪VC涓祴璇曚笂闈㈢粨鏋勭殑澶у皬鏃訛紝浣犱細(xì)鍙戠幇sizeof(MyStruct)涓?6銆備綘鐭ラ亾涓轟粈涔堝湪VC涓細(xì)寰楀嚭榪欐牱涓涓粨鏋滃悧錛?nbsp;<br><br>鍏跺疄錛岃繖鏄疺C瀵瑰彉閲忓瓨鍌ㄧ殑涓涓壒孌婂鐞嗐備負(fù)浜?jiǎn)鎻愰珮CPU鐨勫瓨鍌ㄩ熷害錛孷C瀵逛竴浜涘彉閲忕殑璧峰鍦板潃鍋氫簡(jiǎn)"瀵歸綈"澶勭悊銆傚湪榛樿鎯呭喌涓嬶紝VC瑙勫畾鍚勬垚鍛樺彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺蹇呴』涓鴻鍙橀噺鐨勭被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟鐨勫嶆暟銆備笅闈㈠垪鍑哄父鐢ㄧ被鍨嬬殑瀵歸綈鏂瑰紡(vc6.0,32浣嶇郴緇?銆?nbsp;<br><br>綾誨瀷 <br>瀵歸綈鏂瑰紡錛堝彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺錛?nbsp;<br><br>Char <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(char)鍗?鐨勫嶆暟 <br><br>int <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(int)鍗?鐨勫嶆暟 <br><br>float <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(float)鍗?鐨勫嶆暟 <br><br>double <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(double)鍗?鐨勫嶆暟 <br><br>Short <br>鍋忕Щ閲忓繀欏諱負(fù)sizeof(short)鍗?鐨勫嶆暟 <br><br><br>鍚勬垚鍛樺彉閲忓湪瀛樻斁鐨勬椂鍊欐牴鎹湪緇撴瀯涓嚭鐜扮殑欏哄簭渚濇鐢寵絀洪棿錛屽悓鏃舵寜鐓т笂闈㈢殑瀵歸綈鏂瑰紡璋冩暣浣嶇疆錛岀┖緙虹殑瀛楄妭VC浼?xì)鑷姩濉厖銆傚悓鏃禫C涓轟簡(jiǎn)紜繚緇撴瀯鐨勫ぇ灝忎負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆璇ョ粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛夌殑鍊?/textarea></p><img src ="http://www.shnenglu.com/yearner/aggbug/12208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yearner/" target="_blank">(Leyn)欏戒富</a> 2006-09-10 09:11 <a href="http://www.shnenglu.com/yearner/archive/2006/09/10/12208.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://www515678.com" target="_blank">久热这里只精品99re8久</a>| <a href="http://scratbag.com" target="_blank">欧美一区影院</a>| <a href="http://caerusmdx.com" target="_blank">欧美激情综合亚洲一二区</a>| <a href="http://1194123.com" target="_blank">激情自拍一区</a>| <a href="http://dracotek.com" target="_blank">欧美成年人在线观看</a>| <a href="http://5254f.com" target="_blank">久久综合亚州</a>| <a href="http://555888666.com" target="_blank">日韩午夜在线播放</a>| <a href="http://13501680.com" target="_blank">99re这里只有精品6</a>| <a href="http://huangsedy.com" target="_blank">国产精品成人久久久久</a>| <a href="http://www-44469.com" target="_blank">香蕉免费一区二区三区在线观看</a>| <a href="http://yw8333.com" target="_blank">亚洲制服av</a>| <a href="http://1181318.com" target="_blank">一区精品在线</a>| <a href="http://ylnnc.com" target="_blank">日韩视频永久免费观看</a>| <a href="http://aberyco.com" target="_blank">国产伦一区二区三区色一情</a>| <a href="http://szzzzzzz.com" target="_blank">久久免费视频在线观看</a>| <a href="http://srojsy.com" target="_blank">免费亚洲一区</a>| <a href="http://345fz.com" target="_blank">亚洲主播在线</a>| <a href="http://luobu520.com" target="_blank">久久久久天天天天</a>| <a href="http://www-440447.com" target="_blank">日韩午夜黄色</a>| <a href="http://52sougou.com" target="_blank">欧美在线综合</a>| <a href="http://wwwby6682.com" target="_blank">一区二区激情</a>| <a href="http://laodaohang.com" target="_blank">欧美亚洲一区二区在线</a>| <a href="http://98tangav.com" target="_blank">亚洲日本在线视频观看</a>| <a href="http://mmmm43.com" target="_blank">亚洲影视综合</a>| <a href="http://wawabt.com" target="_blank">亚洲日本成人</a>| <a href="http://www284tv.com" target="_blank">午夜精品短视频</a>| <a href="http://yw8333.com" target="_blank">日韩一区二区电影网</a>| <a href="http://89wbw.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://9y1111.com" target="_blank">日韩视频免费观看高清在线视频 </a>| <a href="http://2061375.com" target="_blank">亚洲午夜免费福利视频</a>| <a href="http://69jp.com" target="_blank">久久国产精品电影</a>| <a href="http://idc0558.com" target="_blank">欧美激情区在线播放</a>| <a href="http://wltaste.com" target="_blank">久久青草久久</a>| <a href="http://evaporsllc.com" target="_blank">欧美日韩高清在线播放</a>| <a href="http://24kshopss.com" target="_blank">久久精品中文字幕免费mv</a>| <a href="http://4008166177.com" target="_blank">你懂的国产精品永久在线</a>| <a href="http://987527.com" target="_blank">欧美中文字幕</a>| <a href="http://www123hao.com" target="_blank">欧美色大人视频</a>| <a href="http://91keshi.com" target="_blank">欧美激情精品久久久久久变态</a>| <a href="http://instantptt.com" target="_blank">国产精品你懂的</a>| <a href="http://hzjqkj.com" target="_blank">亚洲精品在线观</a>| <a href="http://345fz.com " target="_blank">亚洲美女精品一区</a>| <a href="http://kk1xx-com.com" target="_blank">久久精品道一区二区三区</a>| <a href="http://wwwiqiuxia.com" target="_blank">亚洲在线日韩</a>| <a href="http://shenshijuesheying.com" target="_blank">久久久女女女女999久久</a>| <a href="http://11867a.com" target="_blank">免费成人av在线看</a>| <a href="http://1116333.com" target="_blank">亚洲一级黄色片</a>| <a href="http://2061856.com" target="_blank">欧美激情中文不卡</a>| <a href="http://fanwenok.com" target="_blank">欧美+日本+国产+在线a∨观看</a>| <a href="http://dsbangx.com" target="_blank">国产精品素人视频</a>| <a href="http://hankanzhan.com" target="_blank">99re66热这里只有精品4</a>| <a href="http://www-55655.com" target="_blank">亚洲精品国产视频</a>| <a href="http://zhuankee.com" target="_blank">久久人人97超碰精品888 </a>| <a href="http://wwwhaodd116.com" target="_blank">麻豆成人在线播放</a>| <a href="http://jiyixitong.com" target="_blank">久久久综合精品</a>| <a href="http://kasimcoal.com" target="_blank">国产欧美日韩在线</a>| <a href="http://mes-dvd.com" target="_blank">亚洲欧美网站</a>| <a href="http://sxhrsmjj.com" target="_blank">欧美一区二区精品久久911</a>| <a href="http://hongmoyi.com" target="_blank">欧美午夜在线视频</a>| <a href="http://laoyewo.com" target="_blank">一本久道久久综合中文字幕</a>| <a href="http://miaoxp.com" target="_blank">日韩小视频在线观看</a>| <a href="http://wwwby6682.com" target="_blank">亚洲另类一区二区</a>| <a href="http://www-699603.com" target="_blank">亚洲高清自拍</a>| <a href="http://kongtou8.com" target="_blank">欧美中文在线视频</a>| <a href="http://lymzdd.com" target="_blank">欧美一区二区三区视频在线 </a>| <a href="http://7redy.com" target="_blank">欧美一区二区三区四区在线观看地址</a>| <a href="http://482b.com" target="_blank">亚洲小说欧美另类社区</a>| <a href="http://497988.com" target="_blank">欧美日韩日韩</a>| <a href="http://3333328.com" target="_blank">一本色道88久久加勒比精品</a>| <a href="http://www18889.com" target="_blank">中日韩午夜理伦电影免费</a>| <a href="http://99hhbb.com" target="_blank">欧美日韩国产一级片</a>| <a href="http://www25sds.com" target="_blank">亚洲精品在线免费观看视频</a>| <a href="http://dgxinshidai.com" target="_blank">99精品欧美一区</a>| <a href="http://ccc3636.com" target="_blank">欧美日韩一区在线播放</a>| <a href="http://489633.com" target="_blank">国产精品99久久久久久www</a>| <a href="http://www-777324.com" target="_blank">亚洲专区一区</a>| <a href="http://www77577.com" target="_blank">国产视频亚洲精品</a>| <a href="http://gdvapar.com" target="_blank">欧美日韩精品</a>| <a href="http://zyjzz.com" target="_blank">亚洲狼人综合</a>| <a href="http://www-90443.com" target="_blank">亚洲综合电影</a>| <a href="http://7mxing.com" target="_blank">国产综合色在线</a>| <a href="http://www77vcd.com" target="_blank">老司机精品视频网站</a>| <a href="http://babylonmovi.com" target="_blank">91久久精品美女高潮</a>| <a href="http://zhengnuoxin.com" target="_blank">亚洲电影在线播放</a>| <a href="http://metagasa.com" target="_blank">欧美女同视频</a>| <a href="http://kanzhelu31.com" target="_blank">亚洲欧美久久久</a>| <a href="http://by4425.com" target="_blank">久久综合伊人77777尤物</a>| <a href="http://1355456.com" target="_blank">亚洲高清二区</a>| <a href="http://52sougou.com" target="_blank">欧美天堂亚洲电影院在线播放</a>| <a href="http://www-67499.com" target="_blank">亚洲无线视频</a>| <a href="http://ccc159.com" target="_blank">美女视频黄a大片欧美</a>| <a href="http://hbshwx.com" target="_blank">99国产精品久久久久久久久久</a>| <a href="http://72avav.com" target="_blank">欧美私人网站</a>| <a href="http://033232.com" target="_blank">久久久久在线观看</a>| <a href="http://767296.com" target="_blank">日韩亚洲一区在线播放</a>| <a href="http://yckjwb.com" target="_blank">久久精品国产69国产精品亚洲</a>| <a href="http://4466777.com" target="_blank">永久久久久久</a>| <a href="http://124909.com" target="_blank">国产精品国产自产拍高清av</a>| <a href="http://by777131.com" target="_blank">欧美在线免费播放</a>| <a href="http://jsgf444.com" target="_blank">99精品国产高清一区二区</a>| <a href="http://91porn42.com" target="_blank">在线观看精品视频</a>| <a href="http://88488848.com" target="_blank">欧美日韩精品综合</a>| <a href="http://7755cc.com" target="_blank">欧美一区二区三区四区在线观看</a>| <a href="http://www44552.com" target="_blank">欧美国产日韩一区二区三区</a>| <a href="http://tongrenyaoye.com" target="_blank">在线亚洲观看</a>| <a href="http://www-ty177.com" target="_blank">一区二区视频欧美</a>| <a href="http://xxtv123.com" target="_blank">国产精品国产三级欧美二区</a>| <a href="http://yzxq520.com" target="_blank">久久色在线观看</a>| <a href="http://888ppxx.com" target="_blank">亚洲一区国产视频</a>| <a href="http://aqdav81.com" target="_blank">欧美国产免费</a>| <a href="http://pao449.com" target="_blank">久久久综合精品</a>| <a href="http://yjdm139.com" target="_blank">亚洲欧美在线网</a>| <a href="http://www559955.com" target="_blank">亚洲激情网站免费观看</a>| <a href="http://993934.com" target="_blank">国产欧美日韩三区</a>| <a href="http://llamkos.com" target="_blank">欧美日韩一区二区在线观看</a>| <a href="http://maokk77.com" target="_blank">久久午夜视频</a>| <a href="http://155fck.com" target="_blank">欧美一区二区精品</a>| <a href="http://www-00468.com" target="_blank">一区二区三区波多野结衣在线观看</a>| <a href="http://haochen072.com" target="_blank">久久裸体艺术</a>| <a href="http://569658.com" target="_blank">欧美在线精品一区</a>| <a href="http://www-452.com" target="_blank">亚洲桃花岛网站</a>| <a href="http://lutube666.com" target="_blank">亚洲精品免费一区二区三区</a>| <a href="http://nc04.com" target="_blank">国产一区二区看久久</a>| <a href="http://bcjianyan.com" target="_blank">欧美午夜一区二区</a>| <a href="http://laodaohang.com" target="_blank">欧美精品激情blacked18</a>| <a href="http://musicshq.com" target="_blank">久久久久国产精品一区三寸</a>| <a href="http://zooxoft.com" target="_blank">亚洲欧美日韩国产一区二区三区 </a>| <a href="http://www-68689.com" target="_blank">亚洲欧洲日产国码二区</a>| <a href="http://www442222.com" target="_blank">久久综合激情</a>| <a href="http://783956.com" target="_blank">久久精品午夜</a>| <a href="http://373336.com" target="_blank">久久不射电影网</a>| <a href="http://660507jj.com" target="_blank">亚洲欧美久久久久一区二区三区</a>| <a href="http://17vx.com" target="_blank">亚洲免费黄色</a>| <a href="http://576193.com" target="_blank">亚洲免费观看高清在线观看</a>| <a href="http://by5130.com" target="_blank">91久久午夜</a>| <a href="http://xxxcalls.com" target="_blank">91久久久亚洲精品</a>| <a href="http://www333444123.com" target="_blank">亚洲国产日韩在线</a>| <a href="http://www-55125.com" target="_blank">亚洲国产高清自拍</a>| <a href="http://www-36900.com" target="_blank">在线观看亚洲视频啊啊啊啊</a>| <a href="http://621767.com" target="_blank">国外成人在线视频网站</a>| <a href="http://avhai.com" target="_blank">国产亚洲欧美另类中文</a>| <a href="http://fengboll.com" target="_blank">国产日韩欧美日韩大片</a>| <a href="http://zhengnuoxin.com" target="_blank">国产免费观看久久</a>| <a href="http://cl6m.com" target="_blank">国产欧美精品日韩区二区麻豆天美</a>| <a href="http://www134rr.com" target="_blank">欧美网站大全在线观看</a>| <a href="http://7776701.com" target="_blank">欧美午夜激情视频</a>| <a href="http://789583.com" target="_blank">国产精品狠色婷</a>| <a href="http://huxiu123.com" target="_blank">国产老肥熟一区二区三区</a>| <a href="http://bjjxgcsxy.com" target="_blank">国产精品乱码一区二区三区</a>| <a href="http://hnautos.com" target="_blank">国产精品久久九九</a>| <a href="http://cp88966.com" target="_blank">国产欧美亚洲日本</a>| <a href="http://jiejiesao8.com" target="_blank">国内精品免费午夜毛片</a>| <a href="http://my777752.com" target="_blank">精品69视频一区二区三区 </a>| <a href="http://shwazrbjd.com" target="_blank">欧美高清在线视频</a>| <a href="http://sxxawef.com" target="_blank">欧美激情精品久久久久久蜜臀</a>| <a href="http://sz-changrong.com" target="_blank">欧美大学生性色视频</a>| <a href="http://360inns.com" target="_blank">欧美精选午夜久久久乱码6080</a>| <a href="http://xiuren2021.com" target="_blank">欧美精品一区视频</a>| <a href="http://xpfuli.com" target="_blank">国产精品电影网站</a>| <a href="http://666043.com" target="_blank">国产视频一区在线</a>| <a href="http://2938423.com" target="_blank">亚洲第一精品夜夜躁人人躁</a>| <a href="http://498626.com" target="_blank">亚洲精品一线二线三线无人区</a>| <a href="http://3333577.com" target="_blank">日韩一区二区久久</a>| <a href="http://10669p.com" target="_blank">欧美一级欧美一级在线播放</a>| <a href="http://cz-sensor.com" target="_blank">久久久久久九九九九</a>| <a href="http://ez4444.com" target="_blank">欧美大片在线观看一区二区</a>| <a href="http://shuoqe.com" target="_blank">亚洲精品国产系列</a>| <a href="http://wanyoulipin.com" target="_blank">亚洲午夜精品久久</a>| <a href="http://sg-lxs.com" target="_blank">久久精品欧美日韩精品</a>| <a href="http://99999zc.com" target="_blank">欧美电影在线观看完整版</a>| <a href="http://221080.com" target="_blank">国产精品a久久久久久</a>| <a href="http://jilcool.com" target="_blank">国产视频观看一区</a>| <a href="http://833816.com" target="_blank">亚洲精品国产欧美</a>| <a href="http://oudaole.com" target="_blank">性伦欧美刺激片在线观看</a>| <a href="http://wg246.com" target="_blank">久久综合网hezyo</a>| <a href="http://71oo.com" target="_blank">久久久亚洲国产天美传媒修理工 </a>| <a href="http://3dxxoo.com" target="_blank">男女激情视频一区</a>| <a href="http://sdsankeguo.com" target="_blank">欧美午夜不卡在线观看免费</a>| <a href="http://13751144594.com" target="_blank">国产亚洲a∨片在线观看</a>| <a href="http://yunpiwang.com" target="_blank">亚洲国产精品免费</a>| <a href="http://388268.com" target="_blank">午夜精品久久久</a>| <a href="http://292q.com" target="_blank">欧美黄网免费在线观看</a>| <a href="http://329aaa.com" target="_blank">亚洲一区影音先锋</a>| <a href="http://4254888.com" target="_blank">免费不卡欧美自拍视频</a>| <a href="http://www34523.com" target="_blank">国产精品日韩精品欧美精品</a>| <a href="http://fsxinruiph.com" target="_blank">亚洲国产精品精华液2区45</a>| <a href="http://287677.com" target="_blank">亚洲欧美激情一区</a>| <a href="http://xiuxiu124.com" target="_blank">亚洲国产成人在线视频</a>| <a href="http://kk8586.com" target="_blank">亚洲欧美中文字幕</a>| <a href="http://www4848xx.com" target="_blank">欧美日韩精品免费观看</a>| <a href="http://765409.com" target="_blank">狠狠色狠狠色综合日日tαg</a>| <a href="http://oo853kj.com" target="_blank">亚洲私人影院</a>| <a href="http://2938476.com" target="_blank">亚洲福利视频二区</a>| <a href="http://tao62bao.com" target="_blank">欧美一区免费</a>| <a href="http://caosee.com" target="_blank">国产精品毛片a∨一区二区三区|国 </a>| <a href="http://3bmmxyz.com" target="_blank">欧美成人免费网站</a>| <a href="http://312012.com" target="_blank">红杏aⅴ成人免费视频</a>| <a href="http://av0333.com" target="_blank">亚洲综合色丁香婷婷六月图片</a>| <a href="http://china391.com" target="_blank">免费观看在线综合色</a>| <a href="http://my17677.com" target="_blank">性久久久久久</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>