锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产aⅴ综合网,亚洲国产天堂久久综合网站,亚洲中文字幕无码一去台湾http://www.tkk7.com/majianan/category/13114.html<br> <div align=center > <img width=200 height=50 src="http://www.tkk7.com/images/blogjava_net/majianan/14891/r_5858488902000cu2.gif" name="welcome"> </div> <br> <script language="JavaScript"> <!-- Begin text = "浜烘湰鏄漢錛屼笉蹇呭埢鎰忓幓鍋氫漢錛涗笘鏈槸涓栵紝鏃犻』綺懼績鍘誨涓栵紱鑷劧鐨勬墠鏄揩涔愮殑銆?; color1 = "blue"; color2 = "red"; fontsize = "2"; speed = 100; i = 0; if (navigator.appName == "Netscape") { document.write("<layer id=a visibility=show></layer><br><br><br>"); } else { document.write("<div id=a></div>"); } function changeCharColor() { if (navigator.appName == "Netscape") { document.a.document.write("<center><font face=arial size =" + fontsize + "><font color=" + color1 + ">"); for (var j = 0; j < text.length; j++) { if(j == i) { document.a.document.write("<font face=arial color=" + color2 + ">" + Text.charAt(i) + "</font>"); } else { document.a.document.write(text.charAt(j)); } } document.a.document.write('</font></font></center>'); document.a.document.close(); } if (navigator.appName == "Microsoft Internet Explorer") { str = "<center><font face=arial size=" + fontsize + "><font color=" + color1 + ">"; for (var j = 0; j < text.length; j++) { if( j == i) { str += "<font face=arial color=" + color2 + ">" + text.charAt(i) + "</font>"; } else { str += text.charAt(j); } } str += "</font></font></center>"; a.innerHTML = str; } (i == text.length) ? i=0 : i++; } setInterval("changeCharColor()", speed); // End --> </script> zh-cnWed, 28 Feb 2007 12:07:24 GMTWed, 28 Feb 2007 12:07:24 GMT60[ 瀛︿範絎旇 ] Effective C++ 錛欼tem 1http://www.tkk7.com/majianan/archive/2006/08/21/64761.html椹槈妤?/dc:creator>椹槈妤?/author>Mon, 21 Aug 2006 04:56:00 GMThttp://www.tkk7.com/majianan/archive/2006/08/21/64761.htmlhttp://www.tkk7.com/majianan/comments/64761.htmlhttp://www.tkk7.com/majianan/archive/2006/08/21/64761.html#Feedback0http://www.tkk7.com/majianan/comments/commentRss/64761.htmlhttp://www.tkk7.com/majianan/services/trackbacks/64761.html Item 1錛歏iew C++ as a federation of languages
Item 1錛氬皢C++瑙嗕負璇█鐨勮仈鍚堜綋
------------------- Chinese -------------------
鏈鍒濓紝C++浠呬粎鏄湪C鐨勫熀紜涓婇檮鍔犱簡涓浜涢潰鍚戝璞$殑鐗瑰緛銆備絾鏄紝闅忕潃C++鐨勬垚闀垮彂灞曪紝C++宸茬粡鎴愪負浜嗕竴涓鑼冨紡鐨勭紪紼嬭璦錛屼竴涓泭鎷簡榪囩▼鍖栵紝闈㈠悜瀵硅薄錛屽嚱鏁板寲錛屾硾鍨嬩互鍙婂厓緙栫▼鐗規х殑鑱斿悎浣撱傚彲浠ュ皢瀹冨垎鎴?涓儴鍒嗭細
C ------ 褰掓牴緇撳簳錛孋++渚濈劧鏄熀浜嶤鐨勩傛ā鍧楋紝璇彞錛岄澶勭悊鍣紝鍐呭緩鏁版嵁綾誨瀷錛屾暟緇勶紝鎸囬拡絳夛紝鍏ㄩ兘鏉ヨ嚜浜嶤銆傚彧鏄湪寰堝鏂歸潰錛孋++鎻愬嚭浜嗘洿楂樼駭鐨勮В鍐抽棶棰樼殑鏂規硶銆?/font>
Object-Oriented C++ ------ C++鐨勮繖閮ㄥ垎灝辨槸C with Classes 娑夊強鍒扮殑鍏ㄩ儴錛氱被錛堝寘鎷瀯閫犲嚱鏁板拰鏋愭瀯鍑芥暟錛夛紝灝佽錛岀戶鎵匡紝澶氭侊紝铏氬嚱鏁幫紙鍔ㄦ侀偊瀹氾級絳夈侰++鐨勮繖涓閮ㄥ垎鐩存帴閫傜敤浜庨潰鍚戝璞¤璁$殑緇忓吀瑙勫垯銆?/font>
Template C++ ------ 榪欐槸C++鐨勬硾鍨嬬紪紼嬮儴鍒嗐?/font>
STL ------ STL鏄竴涓壒孌婄殑妯℃澘搴撱傚畠灝嗗鍣紝榪唬鍣紝綆楁硶鍜屽嚱鏁板璞′紭闆呯殑鏁村悎鍦ㄤ竴璧楓?/font>
聽聽聽聽聽
澶磋剳涓繚鎸佽繖鍥涗釜瀛愯璦錛屼粠涓縐嶅瓙璇█杞埌鍙︿竴縐嶆椂錛屼負浜嗛珮鏁堢紪紼嬶紝闇瑕佹敼鍙樼瓥鐣ワ細
聽聽聽聽聽 渚嬪錛岄傜敤鍐呭緩錛堢被C鐨勶級綾誨瀷鏃訛紝浼犲奸氬父姣斾紶寮曠敤鏇撮珮鏁堬紝浣嗘槸褰撲粠C++鐨凜閮ㄥ垎杞埌C++鐨凮bject-Oriented閮ㄥ垎錛岀敤鎴瘋嚜瀹氫箟鏋勯犲嚱鏁板拰鏋愭瀯鍑芥暟鎰忓懗鐫鏇村ソ鐨勫仛娉曟槸灝嗗紩鐢ㄤ紶閫掔粰const鍙傛暟銆傚湪 Template C++ 涓伐浣滄椂錛岃繖涓鐐規洿鍔犻噸瑕侊紝鍥犱負錛屽湪榪欑鎯呭喌涓嬶紝浣犵敋鑷充笉鐭ラ亾浣犵殑鎿嶄綔娑夊強鍒扮殑瀵硅薄鐨勭被鍨嬨傚綋浣犺繘鍏?STL錛屾棤璁哄浣曪紝浣犵煡閬撹凱浠e櫒鍜屽嚱鏁板璞′互 C 鐨勬寚閽堜負鍘熷瀷錛屽浜?STL 涓殑榪唬鍣ㄥ拰鍑芥暟瀵硅薄錛屽彜鑰佺殑 C 涓殑浼犲艱鍒欏張閲嶆柊鐢熸晥銆?/font>
***********************************************************
Things to Remember錛?/strong>
聽聽聽聽聽 楂樻晥C++緙栫▼瑙勫垯鐨勫彉鍖栵紝渚濊禆浜庝綘浣跨敤C++鐨勫摢涓涓儴鍒嗐?/font>
------------------- English --------------------
In the beginning, C++ was just C with some object-oriented features tacked on. As the language matured, C++聽have become a multiparadigm programming language, one suppoting a combination of procedural, object-oriented, functional, generic, and metaprogramming features.
There are four parts in the C++:
C ------ Way down deep, C++ is still based on C. Blocks, statements, the preprocessor, built-in data types, arrays, pointers,etc, all come from C. In many cases, C++ just offers approaches to problems that are superior to their C counterparts.
Object-Oriented C++ ------ This part of C++ is what C with Classes was all about: classes(including constructors and destructors), encapsulation, inheritance, polymorphism, virtual functions(dynamic binding),etc. This is the part of C++ to which the classic rules for object-oriented design most directly apply.
Template C++ ------ This is the generic programming part of C++.
The STL ------ The STL si avery special template library. Its conventions regarding containers, iterators, algorithms, and function objects mesh beautifully.
Keep these four sublanguages in mind, and don't be surprised when you encounter situations where effective programming requires that you change strategy when you switch from one sublanguage to another.
For example, pass-by-value is generally more efficient than pass-by-reference for built-in (i.e., C-like) types, but when you move from the C part of C++ to Object-Oriented C++, the existence of user-defined constructors and destructors means that pass-by-reference-to-const is usually better. This is especially the case when working in Template C++, because there, you don't even know the type of object you're dealing with. When you cross into the STL, however, you know that iterators and function objects are modeled on pointers in C, so for iterators and function objects in the STL, the old C pass-by-value rule applies again.聽聽
**********************************************************
Things to Remember
Rules for effective C++ programming vary, depending on the part of C++ you are using!


]]>
iostream 鍜?iostream.h 鐨勫尯鍒?/title><link>http://www.tkk7.com/majianan/archive/2006/08/21/64759.html</link><dc:creator>椹槈妤?/dc:creator><author>椹槈妤?/author><pubDate>Mon, 21 Aug 2006 04:50:00 GMT</pubDate><guid>http://www.tkk7.com/majianan/archive/2006/08/21/64759.html</guid><wfw:comment>http://www.tkk7.com/majianan/comments/64759.html</wfw:comment><comments>http://www.tkk7.com/majianan/archive/2006/08/21/64759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/majianan/comments/commentRss/64759.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/majianan/services/trackbacks/64759.html</trackback:ping><description><![CDATA[ <div align="left"> <font size="4">杞嚜錛?/font> <a > <font size="4">http://blog.sina.com.cn/m/majianan</font> </a> <font size="4">(鎴戠殑鏂版氮Blog)<br />鍓嶄竴孌墊椂闂村湪鑷C++錛岀幇鍦ㄥ伐浣滀簡鐢↗ava錛屼笉榪囦互鍓嶅啓鐨勪竴浜涙枃绔犺嚜鎴戞劅瑙夎繕涓嶉敊錛屽搱鍝堬紝灝辮漿鏉ヨ繖閲岋紝澶у澶氭彁鎰忚銆?br />铔枩嬈㈣繖涓狟log銆?br /><br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<font color="#0000ff"> < iostream > 鍜?< iostream.h > 鐨勫尯鍒?/font><br /><br />鍏抽敭璇嶏細< iostream > 鍜?< iostream.h ></font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">浣犲啓紼嬪簭鐨勬椂鍊欙紝鐢?lt; iostream >榪樻槸< iostream.h >錛?/font> </div> <div> <font size="4">浣犵煡閬撳畠浠湁浠涔堝尯鍒箞錛熻繕鏄涓轟粬浠牴鏈氨鏄竴鏍風殑錛?/font> </div> <div> <font size="4">涓嬮潰鍚垜緇欎綘鍚癸紙鏂囦腑綰睘涓漢璦璁猴紝涓嶆秹鍙婂浗瀹舵満瀵嗭紝璇鋒斁蹇冮槄璇伙紝鑻ヨ漿杞借娉ㄦ槑鍑哄浣滆區-^錛?/font> </div> <div> <font size="4">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ---majianan</font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4"> </font>聽</div> <div> <font size="4">鍏跺疄娌℃湁< iostream.h >榪欐牱鐨勪笢瑗?--- 鏍囧噯鍖栧鍛樹細鍦ㄧ畝鍖栭潪C鏍囧噯澶存枃浠舵椂鐢?lt; iostream > 鍙栦唬浜嗗畠銆備絾鍙堟病鏈夊畬鍏ㄥ彇娑?lt; iostream.h >鐨勪嬌鐢紝騫朵笖寰堝緙栬瘧鍣ㄩ兘鍚屾椂鏀寔< iostream >鍜?lt; iostream.h >錛岄犳垚鐜板湪鐨勫眬闈紝鑰佸ぇ錛堟爣鍑嗗寲濮斿憳浼氾級紜疄鏈変笉寰楀凡鐨勮嫤琛楓?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">璇濊褰撳勾錛屽湪鏍囧噯鍖栧鍛樹細鍔ㄦ墜閲嶅緩鏂扮殑鏍囧噯搴撶殑鏃跺欙紝閬囧埌浜嗛棶棰樸備負浜嗛伩鍏嶇被鍚嶅嚱鏁板悕鐨勫啿紿侀棶棰橈紝寮曞叆浜嗗悕瀛楃┖闂磗td錛屼絾鏃犳暟鐜版湁鐨凜++浠g爜閮戒緷璧栦簬浣跨敤浜嗗騫寸殑浼爣鍑嗗簱涓殑鍔熻兘錛屼緥濡傦紝澹版槑鍦?lt; iostream.h >鍜?lt; complex.h >絳夊ご鏂囦歡涓殑鍔熻兘銆傜幇鏈夎蔣浠舵病鏈夐拡瀵逛嬌鐢ㄥ悕瀛楃┖闂磋岃繘琛岀浉搴旂殑璁捐鎴栬呭崌綰э紝濡傛灉鐢╯td鏉ュ寘瑁呮爣鍑嗗簱瀵艱嚧鐜版湁浠g爜涓嶈兘浣跨敤錛岄偅鎵嬪簳涓嬬殑灝忓紵錛堢▼搴忓憳錛夋槸涓嶄細鍚屾剰鐨勩?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">鏍囧噯鍖栧鍛樹細涓轟簡鎷夋嫝浜哄績錛屽惛寮曟洿澶氱殑浜哄叆浼氾紝鍐沖畾涓哄寘瑁呬簡std鐨勯偅閮ㄥ垎鏍囧噯搴撴瀯寤烘柊鐨勫ご鏂囦歡鍚嶃傚皢鐜版湁C++澶存枃浠跺悕涓殑.h鍘繪帀錛屾墍浠ュ氨鍑虹幇浜?lt; iostream.h>鍜?lt; iostream >絳夊緢澶氬弻鑳炶儙銆傚浜嶤澶存枃浠訛紝閲囩敤鍚屾牱鏂規硶浣嗗湪姣忎釜鍚嶅瓧鍓嶈繕瑕佹坊鍔犱竴涓狢錛屾墍浠鐨?lt;string.h>鍙樻垚浜?lt;cstring>銆?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">鏃х殑C++澶存枃浠舵槸瀹樻柟鏄庣‘鍙嶅浣跨敤鐨勶紝浣嗘棫鐨凜澶存枃浠跺垯娌℃湁錛堜互淇濇寔瀵笴鐨勫吋瀹規э級銆傚叾瀹炵紪璇戝櫒鍒墮犲晢涓嶄細鍋滄瀵瑰鎴風幇鏈夎蔣浠舵彁渚涙敮鎸侊紝鎵浠ュ湪鍙互棰勮鐨勫皢鏉ワ紝鏃х殑C++澶存枃浠惰繕浼氬殻寮犱竴孌墊椂闂淬?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">濡傛灉鑳芥槑鐧藉瓧絎︿覆澶存枃浠剁殑浣跨敤錛屼婦涓鍙嶄笁錛屽叾浠栫殑涔熷樊涓嶅浼氱敤浜嗐?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4"><string.h>鏄棫鐨凜澶存枃浠訛紝瀵瑰簲鐨勬槸鍩轟簬char*鐨勫瓧絎︿覆澶勭悊鍑芥暟錛?/font> </div> <div> <font size="4"><string>鏄寘瑁呬簡std鐨凜++澶存枃浠訛紝瀵瑰簲鐨勬槸鏂扮殑strng綾伙紱</font> </div> <div> <font size="4"><cstring>鏄搴旀棫鐨凜澶存枃浠剁殑std鐗堟湰銆?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">濂藉儚璺戣繙浜嗭紝璦褰掓浼犮傚鏋滀綘鐨勭紪璇戝櫒閮藉悓鏃舵敮鎸?lt; iostream >鍜?lt; iostream.h >錛岄偅浣跨敤#include < iostream >錛屽緱鍒扮殑鏄疆浜庡悕瀛楃┖闂磗td涓嬬殑iostream搴撶殑鍏冪礌錛涘鏋滀嬌鐢?include < iostream.h >錛屽緱鍒扮殑鏄疆浜庡叏灞絀洪棿鐨勫悓鏍風殑鍏冪礌銆傚湪鍏ㄥ眬絀洪棿鑾峰彇鍏冪礌浼氬鑷村悕瀛楀啿紿侊紝鑰岃璁″悕瀛楃┖闂寸殑鍒濊》姝f槸鐢ㄦ潵閬垮厤榪欑鍚嶅瓧鍐茬獊鐨勫彂鐢熴傝繕鏈夛紝鎵撳瓧鏃?lt; iostream >姣?lt; iostream.h >灝戜袱涓瓧錛屾墍浠ユ垜浼氫嬌鐢?lt; iostream > ^-^</font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4">鍥頒簡錛岀潯浜嗐?/font> </div> <div> <font size="4"> </font>聽</div> <div> <font size="4"> </font>聽</div> <div> <font size="4">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽 椹槈妤?/font> </div> <div> <font size="4">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2005-12-26 鍗堝</font> </div> <img src ="http://www.tkk7.com/majianan/aggbug/64759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/majianan/" target="_blank">椹槈妤?/a> 2006-08-21 12:50 <a href="http://www.tkk7.com/majianan/archive/2006/08/21/64759.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬 sizeof() 鐨勪竴浜涙濊?/title><link>http://www.tkk7.com/majianan/archive/2006/08/20/64664.html</link><dc:creator>椹槈妤?/dc:creator><author>椹槈妤?/author><pubDate>Sun, 20 Aug 2006 13:59:00 GMT</pubDate><guid>http://www.tkk7.com/majianan/archive/2006/08/20/64664.html</guid><wfw:comment>http://www.tkk7.com/majianan/comments/64664.html</wfw:comment><comments>http://www.tkk7.com/majianan/archive/2006/08/20/64664.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.tkk7.com/majianan/comments/commentRss/64664.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/majianan/services/trackbacks/64664.html</trackback:ping><description><![CDATA[ <div> <p> <font size="2"> <font face="Verdana"> <font color="#000000"> <font color="#0000ff" size="3">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍏充簬 sizeof() 鐨勪竴浜涙濊?/font> <br /> <br /> <br />鍏抽敭璇嶏細sizeof</font> </font> </font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#000000">榪欐槸緗戜笂鐨勪竴涓笘瀛愶紝鏈鍒濇潵鑷偅閲屽凡緇忚涓嶅緱浜嗭紝涓嶈繃鎴戣寰楀緢涓嶉敊銆?/font> </font> </font> </p> <p> <font face="Verdana" size="2">鎴戝鍘熸枃鍋氫簡涓浜涗慨鏀癸紝騫舵坊鍔犱簡涓浜涘唴瀹廣傚鏋滄湁浠涔堥敊璇殑鍦版柟錛岃澶у鎸囨錛岃阿璋~ </font> </p> <p> <font face="Verdana" size="2">聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --- majianan 2005-12-19 </font> </p> <p> <strong> <font face="Verdana" color="#0000ff" size="2"> </font> </strong>聽</p> <p> <font size="2"> <font face="Verdana"> <strong> <font color="#0000ff">0.鍏抽敭瀛?/font> </strong>錛歴izeof錛屽瓧鑺傚榻愶紝綾誨瀷澶у皬 </font> </font> </p> <p> <font size="2"> <font face="Verdana"> <strong> <font color="#0000ff">鍓嶅悜澹版槑錛?/font> </strong> <br />聽聽聽 sizeof錛屼竴涓叾璨屼笉鎵殑瀹朵紮錛屽紩鏃犳暟鑿滈笩绔熸姌鑵? </font> </font> </p> <p> <font face="Verdana" size="2">聽聽聽 灝忚櫨鎴戝綋鍒濅篃娌″皯鐘糠緋婏紝縐夌潃鈥滆緵鑻︽垜涓涓紝騫哥鍗冧竾浜衡濈殑浼熷ぇ鎬濇兂,鎴戝喅瀹氬皢鍏跺敖鍙兘璇︾粏鐨勬葷粨涓涓嬨?</font> </p> <p> <br /> <font face="Verdana" size="2">聽聽聽 浣嗗綋鎴戞葷粨鐨勬椂鍊欐墠鍙戠幇錛岃繖涓棶棰樻棦鍙互綆鍗曪紝鍙堝彲浠ュ鏉傘傛墍浠ユ湰鏂囨湁鐨勫湴鏂瑰茍涓嶉傚悎鍒濆鑰咃紝鐢氳嚦閮芥病鏈夊繀瑕佸ぇ浣滄枃绔犮備絾濡傛灉浣犳兂鈥滅煡鍏剁劧錛屾洿鐭ュ叾鎵浠ョ劧鈥濈殑璇濓紝閭d箞榪欑瘒鏂囩珷瀵逛綘鎴栬鏈夋墍甯姪銆?br />聽聽聽 </font> </p> <p> <font face="Verdana" size="2">聽聽 聽鑿滈笩鎴戝C++鐨勬帉鎻″皻鏈繁鍏ワ紝鍏朵腑涓嶄箯閿欒錛屾榪庡悇浣嶆寚姝e晩 </font> </p> <p> <font size="2"> <font face="Verdana"> <strong> <font color="#0000ff">1. 瀹氫箟錛?br /></font> </strong>聽聽聽 sizeof鏄綍鏂圭鍦o紵 </font> </font> </p> <p> <font face="Verdana" size="2">聽聽聽 sizeof 涔?C/C++ 涓殑涓涓搷浣滅錛坥perator錛夋槸涔熴傜畝鍗曡鍏朵綔鐢ㄥ氨鏄繑鍥炰竴涓璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁般?br /><br />MSDN涓婄殑瑙i噴涓猴細 </font> </p> <p> <font face="Verdana" size="2">The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types).This keyword returns a value of type size_t. </font> </p> <p> <font face="Verdana" size="2">聽聽聽 鍏惰繑鍥炲肩被鍨嬩負size_t錛屽湪澶存枃浠秙tddef.h涓畾涔夈傝繖鏄竴涓緷璧栦簬緙栬瘧緋葷粺鐨勫鹼紝涓鑸畾涔変負 </font> </p> <p> <font face="Verdana" size="2">typedef unsigned int size_t; </font> </p> <p> <font face="Verdana" size="2">聽聽聽 涓栦笂緙栬瘧鍣ㄦ灄鏋楁繪伙紝浣嗕綔涓轟竴涓鑼冿紝瀹冧滑閮戒細淇濊瘉char銆乻igned char鍜寀nsigned char鐨剆izeof鍊間負1錛屾瘯绔焎har鏄垜浠紪紼嬭兘鐢ㄧ殑鏈灝忔暟鎹被鍨嬨?br /><br /><strong><font color="#0000ff">2. 璇硶錛?/font></strong><br />聽聽聽 sizeof鏈変笁縐嶈娉曞艦寮忥紝濡備笅錛?br />聽聽聽 1) sizeof( object );聽聽聽 // sizeof( 瀵硅薄 );<br />聽聽聽 2) sizeof( type_name ); // sizeof( 綾誨瀷 );<br />聽聽聽 3) sizeof object;聽聽聽聽聽聽 // sizeof 瀵硅薄; </font> </p> <p> <font face="Verdana" size="2">鎵浠ワ紝<br />int i;<br />sizeof( i );聽聽聽聽 // ok<br />sizeof i;聽聽 聽聽聽聽 // ok<br />sizeof( int );聽聽 // ok<br />sizeof int;聽聽聽聽聽 // error </font> </p> <p> <font face="Verdana" size="2">鏃㈢劧鍐欐硶2鍙互鐢ㄥ啓娉?浠f浛錛屼負姹傚艦寮忕粺涓浠ュ強鍑忓皯鎴戜滑澶ц剳鐨勮礋鎷咃紝絎?縐嶅啓娉曪紝蹇樻帀瀹冨惂錛?</font> </p> <p> <font face="Verdana" size="2">瀹為檯涓婏紝sizeof璁$畻瀵硅薄鐨勫ぇ灝忎篃鏄漿鎹㈡垚瀵瑰璞$被鍨嬬殑璁$畻銆備篃灝辨槸璇達紝鍚岀綾誨瀷鐨勪笉鍚屽璞″叾sizeof鍊奸兘鏄竴鑷寸殑銆?</font> </p> <p> <font face="Verdana" size="2">榪欓噷錛屽璞″彲浠ヨ繘涓姝ュ歡浼歌嚦琛ㄨ揪寮忥紝鍗硈izeof鍙互瀵逛竴涓〃杈懼紡姹傚箋傜紪璇戝櫒<strong>鏍規嵁琛ㄨ揪寮忕殑鏈緇堢粨鏋滅被鍨嬫潵紜畾澶у皬</strong>錛屼竴鑸笉浼氬琛ㄨ揪寮忚繘琛岃綆椼?</font> </p> <p> <font face="Verdana" size="2">渚嬪錛?</font> </p> <p> <font face="Verdana" size="2">sizeof( 2 );聽聽聽聽聽聽聽聽// 2鐨勭被鍨嬩負int錛屾墍浠ョ瓑浠蜂簬 sizeof( int );<br />sizeof( 2 + 3.14 );聽// 3.14鐨勭被鍨嬩負double錛?涔熶細琚彁鍗囨垚double綾誨瀷錛屾墍浠ョ瓑浠蜂簬 sizeof( double );<br /><br />聽聽聽 sizeof涔熷彲浠ュ涓涓嚱鏁拌皟鐢ㄦ眰鍊鹼紝鍏?font color="#0000ff">緇撴灉鏄嚱鏁拌繑鍥炵被鍨嬬殑澶у皬錛屽嚱鏁板茍涓嶄細琚皟鐢ㄣ?/font>鎴戜滑鏉ョ湅涓涓畬鏁寸殑渚嬪瓙錛?</font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">char foo()<br />{<br />聽聽聽聽printf("foo() has been called.\n");<br />聽聽聽聽return 'a';<br />}<br />int main()<br />{<br />聽聽聽聽size_t sz = sizeof( foo() );聽聽 // foo() 鐨勮繑鍥炲肩被鍨嬩負char錛屾墍浠z = sizeof(char)錛屼絾鍑芥暟foo()騫朵笉浼氳璋冪敤<br />聽聽聽聽printf("sizeof( foo() ) = %d\n", sz);<br />} </font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">C99鏍囧噯瑙勫畾錛屽嚱鏁般佷笉鑳界‘瀹氱被鍨嬬殑琛ㄨ揪寮忎互鍙婁綅鍩燂紙bit-field錛夋垚鍛樹笉鑳借璁$畻sizeof鍊鹼紝鍗充笅闈㈣繖浜涘啓娉曢兘鏄敊璇殑錛?</font> </p> <p> <font face="Verdana" size="2">聽聽聽 sizeof( foo );聽聽聽聽 // error<br />聽聽聽 void foo2() { }<br />聽聽聽 sizeof( foo2() );聽 // error<br />聽聽聽 struct S<br />聽聽聽 {<br />聽聽聽聽聽聽聽聽unsigned int f1 : 1;<br />聽聽聽聽聽聽聽聽unsigned int f2 : 5;<br />聽聽聽聽聽聽聽聽unsigned int f3 : 12;<br />聽聽聽 };<br />聽聽聽聽sizeof( S.f1 );聽聽 // error </font> </p> <p> <br /> <strong> <font size="2"> <font face="Verdana"> <font color="#0000ff">3. sizeof鐨勫父閲忔?/font> </font> </font> </strong> </p> <strong> <font color="#0000ff"> </font> </strong> <p> <br /> <font face="Verdana" size="2">聽聽聽 sizeof鐨勮綆楀彂鐢熷湪緙栬瘧鏃跺埢錛屾墍浠ュ畠鍙互琚綋浣滃父閲忚〃杈懼紡浣跨敤銆傚錛?</font> </p> <p> <font face="Verdana" size="2">char ary[ sizeof( int ) * 10 ];聽聽 // ok </font> </p> <p> <font face="Verdana" size="2">鏈鏂扮殑C99鏍囧噯瑙勫畾sizeof涔熷彲浠ュ湪榪愯鏃跺埢榪涜璁$畻銆傚涓嬮潰鐨勭▼搴忓湪Dev-C++涓彲浠ユ紜墽琛岋細 </font> </p> <p> <font face="Verdana" size="2">int n;<br />n = 10;聽聽聽聽聽聽聽 // n鍔ㄦ佽祴鍊?br />char ary[n];聽聽 // C99涔熸敮鎸佹暟緇勭殑鍔ㄦ佸畾涔?br />printf("%d\n", sizeof(ary)); // ok. 杈撳嚭10 </font> </p> <p> <font face="Verdana" size="2">浣嗗湪娌℃湁瀹屽叏瀹炵幇C99鏍囧噯鐨勭紪璇戝櫒涓氨琛屼笉閫氫簡錛屼笂闈㈢殑浠g爜鍦╒C6涓氨閫氫笉榪囩紪璇戙傛墍浠ユ垜浠?font color="#0000ff">鏈濂借繕鏄涓簊izeof鏄湪緙栬瘧鏈熸墽琛岀殑</font>錛岃繖鏍蜂笉浼氬甫鏉ラ敊璇紝璁╃▼搴忕殑鍙Щ妞嶆у己浜涖?</font> </p> <p> <br /> <strong> <font size="2"> <font face="Verdana"> <font color="#0000ff">4. 鍩烘湰鏁版嵁綾誨瀷鐨剆izeof</font> </font> </font> </strong> </p> <p> <font face="Verdana" size="2">榪欓噷鐨勫熀鏈暟鎹被鍨嬫寚short銆乮nt銆乴ong銆乫loat銆乨ouble榪欐牱鐨勭畝鍗曞唴緗暟鎹被鍨嬨傜敱浜庡畠浠兘鏄拰緋葷粺鐩稿叧鐨勶紝鎵浠ュ湪涓嶅悓鐨勭郴緇熶笅鍙栧煎彲鑳戒笉鍚屻傝繖鍔″繀寮曡搗鎴戜滑鐨勬敞鎰忥紝灝介噺涓嶈鍦ㄨ繖鏂歸潰緇欒嚜宸辯▼搴忕殑縐繪閫犳垚楹葷儲銆?</font> </p> <p> <font face="Verdana" size="2">涓鑸殑錛屽湪32浣嶇紪璇戠幆澧冧腑錛宻izeof(int)鐨勫彇鍊間負4銆?</font> </p> <p> <br /> <strong> <font size="2"> <font face="Verdana"> <font color="#0000ff">5. 鎸囬拡鍙橀噺鐨剆izeof</font> </font> </font> </strong> </p> <p> <font face="Verdana" size="2">瀛﹁繃鏁版嵁緇撴瀯鐨勪綘搴旇鐭ラ亾鎸囬拡鏄竴涓緢閲嶈鐨勬蹇碉紝瀹冭褰曚簡鍙︿竴涓璞$殑鍦板潃銆?font color="#0000ff">鏃㈢劧鏄潵瀛樻斁鍦板潃鐨勶紝閭d箞瀹冨綋鐒剁瓑浜庤綆楁満鍐呴儴鍦板潃鎬葷嚎鐨勫搴︺?/font>鎵浠ュ湪32浣嶈綆楁満涓紝涓涓寚閽堝彉閲忕殑榪斿洖鍊煎繀瀹氭槸4錛堟敞鎰忕粨鏋滄槸浠ュ瓧鑺備負鍗曚綅錛夈傚彲浠ラ璁★紝鍦ㄥ皢鏉ョ殑64浣嶇郴緇熶腑鎸囬拡鍙橀噺鐨剆izeof緇撴灉涓?銆?</font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">char* pc = "abc";<br />int* pi;<br />string* ps;<br />char** ppc = &pc;<br />void (*pf)();聽// 鍑芥暟鎸囬拡<br />sizeof( pc ); // 緇撴灉涓?<br />sizeof( pi ); // 緇撴灉涓?<br />sizeof( ps ); // 緇撴灉涓?<br />sizeof( ppc );// 緇撴灉涓?<br />sizeof( pf ); // 緇撴灉涓? </font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">鎸囬拡鍙橀噺鐨剆izeof鍊間笌鎸囬拡鎵鎸囩殑瀵硅薄娌℃湁浠諱綍鍏崇郴錛屾鏄敱浜庢墍鏈夌殑鎸囬拡鍙橀噺鎵鍗犲唴瀛樺ぇ灝忕浉絳夛紝鎵浠FC娑堟伅澶勭悊鍑芥暟浣跨敤涓や釜鍙傛暟WPARAM銆丩PARAM灝辮兘浼犻掑悇縐嶅鏉傜殑娑堟伅緇撴瀯錛堜嬌鐢ㄦ寚鍚戠粨鏋勪綋鐨勬寚閽堬級銆?</font> </p> <p> <br /> <strong> <font size="2"> <font face="Verdana"> <font color="#0000ff">6. 鏁扮粍鐨剆izeof</font> </font> </font> </strong> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">鏁扮粍鐨剆izeof鍊肩瓑浜庢暟緇勬墍鍗犵敤鐨勫唴瀛樺瓧鑺傛暟</font>錛屽錛?</font> </font> </p> <p> <font face="Verdana" size="2">char a1[] = "abc";<br />int a2[3];<br />sizeof( a1 ); // 緇撴灉涓?錛屽瓧絎?鏈熬榪樺瓨鍦ㄤ竴涓狽ULL緇堟絎?br />sizeof( a2 ); // 緇撴灉涓?*4=12錛堜緷璧栦簬int錛?</font> </p> <p> <font face="Verdana" size="2">涓浜涙湅鍙嬪垰寮濮嬫椂鎶妔izeof褰撲綔浜嗘眰鏁扮粍鍏冪礌鐨勪釜鏁幫紝鐜板湪錛屼綘搴旇鐭ラ亾榪欐槸涓嶅鐨勩傞偅涔堝簲璇ユ庝箞姹傛暟緇勫厓绱犵殑涓暟鍛紵 </font> </p> <p> <font face="Verdana" size="2">Easy錛岄氬父鏈変笅闈袱縐嶅啓娉曪細 </font> </p> <p> <font face="Verdana" size="2">int c1 = sizeof( a1 ) / sizeof( char );聽聽聽 // 鎬婚暱搴?鍗曚釜鍏冪礌鐨勯暱搴?br />int c2 = sizeof( a1 ) / sizeof( a1[0]); 聽聽 // 鎬婚暱搴?絎竴涓厓绱犵殑闀垮害 </font> </p> <p> <br /> <font face="Verdana" size="2">鍐欏埌榪欓噷錛屾彁涓闂紝涓嬮潰鐨刢3錛宑4鍊煎簲璇ユ槸澶氬皯鍛紵 </font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">void foo3(char a3[3])<br />{<br />聽聽聽聽int c3 = sizeof( a3 ); // c3 ==<br />}<br />void foo4(char a4[])<br />{<br />聽聽聽聽int c4 = sizeof( a4 ); // c4 ==<br />} </font> </p> <p> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************</font> </font> </font> </p> <p> <font face="Verdana" size="2">涔熻褰撲綘璇曞浘鍥炵瓟c4鐨勫兼椂宸茬粡鎰忚瘑鍒癱3絳旈敊浜嗭紝鏄殑錛宑3!=3銆?</font> </p> <p> <font face="Verdana" size="2">榪欓噷鍑芥暟鍙傛暟<font color="#0000ff">a3宸蹭笉鍐嶆槸鏁扮粍綾誨瀷錛岃屾槸铚曞彉鎴愭寚閽堛?/font>鐩稿綋浜巆har* a3錛屼負浠涔堜粩緇嗘兂鎯沖氨涓嶉毦鏄庣櫧銆?</font> </p> <p> <font face="Verdana" size="2">鎴戜滑璋冪敤鍑芥暟foo1鏃訛紝紼嬪簭浼氬湪鏍堜笂鍒嗛厤涓涓ぇ灝忎負3鐨勬暟緇勫悧錛熶笉浼氾紒 </font> </p> <p> <font face="Verdana" size="2">鏁扮粍鏄滀紶鍧鈥濈殑錛岃皟鐢ㄨ呭彧闇灝嗗疄鍙傜殑鍦板潃浼犻掕繃鍘伙紝鎵浠3鑷劧涓烘寚閽堢被鍨嬶紙char*錛夛紝c3鐨勫間篃灝變負4銆?</font> </p> <p> <br /> <font size="2"> <font face="Verdana"> <strong> <font color="#0000ff">7.string鐨剆izeof</font> </strong> <br /> <font color="#0000ff">涓涓猻tring鐨勫ぇ灝忎笌瀹冩墍鎸囧悜鐨勫瓧絎︿覆鐨勯暱搴︽棤鍏?/font>銆?br /><br /><font color="#0000ff">*********************************************************</font><br />string st1("blog.sina.com.cn");<br />string st2("majianan");<br />string st3;<br />string *ps = &st1;<br />cout << "st1: " << sizeof(st1) << endl;<br />cout << "st2: " << sizeof(st2) << endl;<br />cout << "st3: " << sizeof(st3) << endl;<br />cout << "ps: " << sizeof(ps) << endl;<br />cout << "*ps: " << sizeof(*ps) << endl;<br /><font color="#0000ff">*********************************************************</font><br /><br />杈撳嚭緇撴灉涓猴細<br />st1錛?28<br />st2錛?28<br />st3錛?28<br />ps錛?4<br />*ps錛?28<br /></font> </font> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************<br /></font>瀵逛簬涓嶅悓鐨凷TL錛孲tring綾葷殑緇撴瀯瀹氫箟浼氭湁鎵涓嶅悓<br />鎵浠ヤ笉鍚岀殑宸ュ叿錛屼緥濡俈C++錛屽拰.NET錛岀粨鏋滀細鏈夋墍涓嶅悓錛?br />鍦╒C++6.0涓紙鎴戠殑鏈哄櫒錛夌粨鏋滄槸16<br />鍦?NET2003涓粨鏋滄槸28<br />浣嗘槸瀵逛簬鍚屼竴涓紪璇戝櫒錛岄偅涔堝畠鐨勭粨鏋滈兘鏄竴瀹氱殑<br /><br /><br /><font color="#0000ff"><strong>8.寮曠敤鐨剆izeof</strong></font><br /><br /></font> </font> <font size="2"> <font face="Verdana"> <font style="BACKGROUND-COLOR: #ffffff" color="#0000ff">sizeof鎿嶄綔絎﹀簲鐢ㄥ湪寮曠敤綾誨瀷涓婄殑鏃跺欙紝榪斿洖鐨勬槸鍖呭惈琚紩鐢ㄥ璞℃墍闇鐨勫唴瀛橀暱搴︼紙鍗寵寮曠敤瀵硅薄鐨勫ぇ灝忥級<br /></font> <br /> <font color="#0000ff">*********************************************************</font> <br />cout << "short:\t" << sizeof(short) << endl;<br />cout << "short*:\t" << sizeof(short*) << endl; <br />cout << "short&:\t" << sizeof(short&) << endl;<br />cout << "short[4]:\t" << sizeof(short[4]) << endl;<br />cout << "int&:\t" << sizeof(int&) << endl;<br /></font> </font> <font size="2"> <font face="Verdana"> <font color="#0000ff">*********************************************************<br /></font> <br />杈撳嚭緇撴灉涓猴細<br />short錛?2<br />short*錛?4<br />short&錛?2<br />short[4]錛?8<br />int&錛?4<br /><br /><br /><strong><font color="#0000ff">9. 緇撴瀯浣撶殑sizeof</font></strong></font> </font> </p> <p> <font face="Verdana" size="2">榪欐槸鍒濆鑰呴棶寰楁渶澶氱殑涓涓棶棰橈紝鎵浠ヨ繖閲屾湁蹇呰澶氳垂鐐圭瑪澧ㄣ傝鎴戜滑鍏堢湅涓涓粨鏋勪綋錛?</font> </p> <p> <font face="Verdana" size="2">struct S1<br />{<br />聽聽聽 char c;<br />聽聽聽 int i;<br />}; </font> </p> <p> <font face="Verdana" size="2">闂畇izeof(s1)絳変簬澶氬皯錛?</font> </p> <p> <font face="Verdana" size="2">鑱槑鐨勪綘寮濮嬫濊冧簡錛宑har鍗?涓瓧鑺傦紝int鍗?涓瓧鑺傦紝閭d箞鍔犺搗鏉ュ氨搴旇鏄?銆?</font> </p> <p> <font face="Verdana" size="2">鏄繖鏍峰悧錛?</font> </p> <p> <font face="Verdana" size="2">浣犲湪浣犳満鍣ㄤ笂璇曡繃浜嗗悧錛?</font> </p> <p> <font face="Verdana" size="2">涔熻浣犳槸瀵圭殑錛屼絾寰堝彲鑳戒綘鏄敊鐨勶紒 </font> </p> <p> <font face="Verdana" size="2">VC6涓寜榛樿璁劇疆寰楀埌鐨勭粨鏋滀負8銆?br /><br />聽聽聽 Why錛熶負浠涔堝彈浼ょ殑鎬繪槸鎴戯紵 </font> </p> <p> <font face="Verdana" size="2">璇蜂笉瑕佹伯涓э紝鎴戜滑鏉ュソ濂界悽紓ㄤ竴涓媠izeof鐨勫畾涔?鈥斺?sizeof鐨勭粨鏋滅瓑浜庡璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁般傚ソ鍚э紝閭e氨璁╂垜浠潵鐪嬬湅S1鐨勫唴瀛樺垎閰嶆儏鍐碉細 </font> </p> <p> <font face="Verdana" size="2">S1 s1 = { 'a', 0xFFFFFFFF }; </font> </p> <p> <font face="Verdana" size="2">瀹氫箟涓婇潰鐨勫彉閲忓悗錛屽姞涓婃柇鐐癸紝榪愯紼嬪簭錛岃瀵焥1鎵鍦ㄧ殑鍐呭瓨錛屼綘鍙戠幇浜嗕粈涔堬紵 </font> </p> <p> <font face="Verdana" size="2">浠ユ垜鐨刅C6.0涓轟緥錛宻1鐨勫湴鍧涓?x0012FF78錛屽叾鏁版嵁鍐呭濡備笅錛?</font> </p> <p> <font face="Verdana" size="2">0012FF78: 61 CC CC CC FF FF FF FF<br /><br />鍙戠幇浜嗕粈涔堬紵鎬庝箞涓棿澶規潅浜?涓瓧鑺傜殑CC錛?</font> </p> <p> <font face="Verdana" size="2">鐪嬬湅MSDN涓婄殑璇存槑錛?</font> </p> <p> <font face="Verdana" size="2">When applied to a structure type or variable, sizeof returns the actual size, which may include padding bytes inserted for alignment. </font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">鍘熸潵濡傛錛岃繖灝辨槸浼犺涓殑瀛楄妭瀵歸綈鍟婏紒涓涓噸瑕佺殑璇濋鍑虹幇浜嗐?</font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">涓轟粈涔堥渶瑕佸瓧鑺傚榻愶紵 </font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">璁$畻鏈虹粍鎴愬師鐞嗘暀瀵兼垜浠紝榪欐牱鏈夊姪浜庡姞蹇綆楁満鐨勫彇鏁伴熷害錛屽惁鍒欏氨寰楀鑺辨寚浠ゅ懆鏈熶簡銆?</font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">涓烘錛岀紪璇戝櫒榛樿浼氬緇撴瀯浣撹繘琛屽鐞嗭紙瀹為檯涓婂叾瀹冨湴鏂圭殑鏁版嵁鍙橀噺涔熸槸濡傛錛夛紝<font color="#0000ff">璁╁搴︿負2鐨勫熀鏈暟鎹被鍨嬶紙short絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨勫湴鍧涓婏紝璁╁搴︿負4鐨勫熀鏈暟鎹被鍨嬶紙int絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨勫湴鍧涓娿?/font>浠ユ綾繪帹錛岃繖鏍鳳紝涓や釜鏁頒腑闂村氨鍙兘闇瑕佸姞鍏ュ~鍏呭瓧鑺傦紝鎵浠ユ暣涓粨鏋勪綋鐨剆izeof鍊煎氨澧為暱浜嗐?</font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">璁╂垜浠氦鎹竴涓婼1涓璫har涓巌nt鐨勪綅緗細 </font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">struct S2<br />{<br />聽聽聽聽int i;<br />聽聽聽聽char c;<br />}; </font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">鐪嬬湅sizeof(S2)鐨勭粨鏋滀負澶氬皯錛熸庝箞榪樻槸8銆?</font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">鍐嶇湅鐪嬪唴瀛橈紝鍘熸潵鎴愬憳c鍚庨潰浠嶇劧鏈?涓~鍏呭瓧鑺傘?</font> </p> <p dir="ltr" style="MARGIN-RIGHT: 0px"> <font face="Verdana" size="2">榪欏張鏄負浠涔堝晩錛熷埆鐫鎬ワ紝涓嬮潰鎬葷粨瑙勫緥銆?</font> </p> <p> <font face="Verdana" size="2">聽聽聽 <strong><font color="#0000ff">瀛楄妭瀵歸綈鐨勭粏鑺傚拰緙栬瘧鍣ㄥ疄鐜扮浉鍏籌紝浣嗕竴鑸岃█錛屾弧瓚充笁涓噯鍒欙細</font></strong><br />聽聽聽 1) 緇撴瀯浣撳彉閲忕殑棣栧湴鍧鑳藉琚叾鏈瀹藉熀鏈被鍨嬫垚鍛樼殑澶у皬鎵鏁撮櫎錛?br />聽聽聽 2) 緇撴瀯浣撴瘡涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺錛坥ffset錛夐兘鏄垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼氬湪鎴愬憳涔嬮棿鍔犱笂濉厖瀛楄妭錛坕nternal adding錛夛紱<br />聽聽聽 3) 緇撴瀯浣撶殑鎬誨ぇ灝忎負緇撴瀯浣撴渶瀹藉熀鏈被鍨嬫垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼氬湪鏈鏈竴涓垚鍛樹箣鍚庡姞涓婂~鍏呭瓧鑺傦紙trailing padding錛夈?br /><br />聽聽聽 瀵逛簬涓婇潰鐨勫噯鍒欙紝鏈夊嚑鐐歸渶瑕佽鏄庯細<br />1)聽鍓嶉潰涓嶆槸璇寸粨鏋勪綋鎴愬憳鐨勫湴鍧鏄叾澶у皬鐨勬暣鏁板嶏紝鎬庝箞鍙堣鍒板亸縐婚噺浜嗗憿錛?</font> </p> <p> <font face="Verdana" size="2">鍥犱負鏈変簡絎?鐐瑰瓨鍦紝鎵浠ユ垜浠氨鍙互鍙冭檻鎴愬憳鐨勫亸縐婚噺錛岃繖鏍鋒濊冭搗鏉ョ畝鍗曘傛兂鎯充負浠涔堛?</font> </p> <p> <font face="Verdana" size="2">緇撴瀯浣撴煇涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺鍙互閫氳繃瀹弌ffsetof()鏉ヨ幏寰楋紝榪欎釜瀹忎篃鍦╯tddef.h涓畾涔夛紝濡備笅錛?</font> </p> <p> <font face="Verdana" size="2">#define offsetof(s,m) (size_t)&(((s *)0)->m) </font> </p> <p> <font face="Verdana" size="2">渚嬪錛屾兂瑕佽幏寰桽2涓璫鐨勫亸縐婚噺錛屾柟娉曚負 </font> </p> <p> <font face="Verdana" size="2">size_t pos = offsetof(S2, c);// pos絳変簬4 </font> </p> <p> <br /> <font face="Verdana" size="2">2) 鍩烘湰綾誨瀷鏄寚鍓嶉潰鎻愬埌鐨勫儚char銆乻hort銆乮nt銆乫loat銆乨ouble榪欐牱鐨勫唴緗暟鎹被鍨嬨傝繖閲屾墍璇寸殑鈥滄暟鎹搴︹濆氨鏄寚鍏秙izeof鐨勫ぇ灝忋傜敱浜庣粨鏋勪綋鐨勬垚鍛樺彲浠ユ槸澶嶅悎綾誨瀷錛屾瘮濡傚彟澶栦竴涓粨鏋勪綋錛屾墍浠ュ湪瀵繪壘鏈瀹藉熀鏈被鍨嬫垚鍛樻椂錛屽簲褰撳寘鎷鍚堢被鍨嬫垚鍛樼殑瀛愭垚鍛橈紝鑰屼笉鏄妸澶嶅悎鎴愬憳鐪嬫垚鏄竴涓暣浣撱備絾鍦ㄧ‘瀹氬鍚堢被鍨嬫垚鍛樼殑鍋忕Щ浣嶇疆鏃跺垯鏄皢澶嶅悎綾誨瀷浣滀負鏁翠綋鐪嬪緟銆?</font> </p> <p> <font face="Verdana" size="2">榪欓噷鍙欒堪璧鋒潵鏈夌偣鎷楀彛錛屾濊冭搗鏉ヤ篃鏈夌偣鎸犲ご錛岃繕鏄鎴戜滑鐪嬬湅渚嬪瓙鍚э紙鍏蜂綋鏁板間粛浠C6涓轟緥錛屼互鍚庝笉鍐嶈鏄庯級錛?</font> </p> <p> <font face="Verdana" size="2">struct S3<br />{<br />聽聽聽聽char c1;<br />聽聽聽聽S1 s;<br />聽聽聽聽char c2;<br />}; </font> </p> <p> <font face="Verdana" size="2">S1鐨勬渶瀹界畝鍗曟垚鍛樼殑綾誨瀷涓篿nt錛孲3鍦ㄨ冭檻鏈瀹界畝鍗曠被鍨嬫垚鍛樻椂鏄皢S1鈥滄墦鏁b濈湅鐨勶紝鎵浠3鐨勬渶瀹界畝鍗曠被鍨嬩負int銆傝繖鏍鳳紝閫氳繃S3瀹氫箟鐨勫彉閲忥紝鍏跺瓨鍌ㄧ┖闂撮鍦板潃闇瑕佽4鏁撮櫎錛屾暣涓猻izeof(S3)鐨勫間篃搴旇琚?鏁撮櫎銆?</font> </p> <p> <font face="Verdana" size="2">c1鐨勫亸縐婚噺涓?錛宻鐨勫亸縐婚噺鍛紵榪欐椂s鏄竴涓暣浣擄紝瀹冧綔涓虹粨鏋勪綋鍙橀噺涔熸弧瓚沖墠闈笁涓噯鍒欙紝鎵浠ュ叾澶у皬涓?錛屽亸縐婚噺涓?錛宑1涓巗涔嬮棿渚塊渶瑕?涓~鍏呭瓧鑺傦紝鑰宑2涓巗涔嬮棿灝變笉闇瑕佷簡錛屾墍浠2鐨勫亸縐婚噺涓?2錛岀畻涓奵2鐨勫ぇ灝忎負13錛?3鏄笉鑳借4鏁撮櫎鐨勶紝榪欐牱鏈熬榪樺緱琛ヤ笂3涓~鍏呭瓧鑺傘傛渶鍚庡緱鍒皊izeof(S3)鐨勫間負16銆?</font> </p> <p> <br /> <font face="Verdana" size="2">聽聽聽 閫氳繃涓婇潰鐨勫彊榪幫紝鎴戜滑鍙互寰楀埌涓涓叕寮忥細<br />聽聽聽 <font color="#0000ff"><strong>緇撴瀯浣撶殑澶у皬絳変簬鏈鍚庝竴涓垚鍛樼殑鍋忕Щ閲忓姞涓婂叾澶у皬鍐嶅姞涓婃湯灝劇殑濉厖瀛楄妭鏁扮洰錛?/strong></font>鍗籌細 </font> </p> <p> <font face="Verdana" size="2">sizeof( struct ) = offsetof( last item ) + sizeof( last item ) + sizeof( trailing padding ) </font> </p> <p> <font face="Verdana" size="2"> </font>聽</p> <div> <font color="#0000ff"> <font size="2"> <font face="Verdana"> <strong>10.綾葷殑sizeof</strong> </font> </font> </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">綾葷殑sizeof鍊肩瓑浜庣被涓垚鍛樺彉閲忔墍鍗犵敤鐨勫唴瀛樺瓧鑺傛暟銆傚錛?br /></font> </div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">****************************************************************</font> </font> </font> </div> <div> <font face="Verdana" size="2">聽 </font> </div> <div> <font face="Verdana" size="2">class A<br />{<br />聽public:<br />聽聽聽聽 int b;<br />聽聽聽聽 float c;<br />聽聽聽聽 char d;<br />}; </font> </div> <div> <br /> <font face="Verdana" size="2">int main(void)<br />{<br />聽 A object;<br />聽 cout << "sizeof(object) is " << sizeof(object) << endl;<br />聽 return 0 ;<br />} </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">***************************************************************</font> </font> </font> </div> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">杈撳嚭緇撴灉涓?2錛堟垜鐨勬満鍣ㄤ笂sizeof(float)鍊間負4錛屽瓧鑺傚鍏跺墠闈㈠凡緇忚榪囷級銆?</font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">涓嶈繃闇瑕佹敞鎰忕殑鏄紝濡傛灉綾諱腑瀛樺湪闈欐佹垚鍛樺彉閲忥紝緇撴灉鍙堜細鏄粈涔堟牱瀛愬憿錛?</font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">***************************************************************</font> </font> </font> </div> <div> <br /> <font face="Verdana" size="2">class A<br />{<br />聽public:<br />聽聽聽聽 static int a;<br />聽聽聽聽 int b;<br />聽聽聽聽 float c;<br />聽聽聽聽 char d;<br />}; </font> </div> <div> <br /> <font face="Verdana" size="2">int main()<br />{ </font> </div> <div> <font face="Verdana" size="2">聽 A object;<br />聽聽cout << "sizeof(object) is " << sizeof(object) << endl;<br />聽 return 0 ;<br />} </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">**************************************************************</font> </font> </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">16錛熶笉瀵廣傜粨鏋滀粛鐒舵槸12. </font> </div> <div> <br /> <font face="Verdana" size="2">鍥犱負鍦ㄧ▼搴忕紪璇戞湡闂達紝灝卞凡緇忎負static鍙橀噺鍦ㄩ潤鎬佸瓨鍌ㄥ尯鍩熷垎閰嶄簡鍐呭瓨絀洪棿錛屽茍涓旇繖鍧楀唴瀛樺湪紼嬪簭鐨勬暣涓繍琛屾湡闂撮兘瀛樺湪銆?</font> </div> <div> <br /> <font face="Verdana" size="2">鑰屾瘡嬈″0鏄庝簡綾籄鐨勪竴涓璞$殑鏃跺欙紝涓鴻瀵硅薄鍦ㄥ爢涓婏紝鏍規嵁瀵硅薄鐨勫ぇ灝忓垎閰嶅唴瀛樸?</font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">濡傛灉綾籄涓寘鍚垚鍛樺嚱鏁幫紝閭d箞鍙堜細鏄庢牱鐨勬儏鍐靛憿錛熺湅涓嬮潰鐨勪緥瀛?</font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">*************************************************************</font> </font> </font> </div> <div> <br /> <font face="Verdana" size="2">class A<br />{<br />聽public:<br />聽聽聽聽 static int a;<br />聽聽聽聽 int b;<br />聽聽聽聽 float c;<br />聽聽聽聽 char d;<br />聽聽聽聽 int add(int x,int y)<br />聽聽聽聽 {<br />聽聽聽聽聽聽 return x+y;<br />聽聽聽聽 }<br />}; </font> </div> <div> <br /> <font face="Verdana" size="2">int main()<br />{<br />聽聽A object;<br />聽 cout << "sizeof(object) is " << sizeof(object) << endl;<br />聽 b = object.add(3,4);<br />聽 cout << "sizeof(object) is " << sizeof(object) << endl;<br />聽 return 0 ;<br />} </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font size="2"> <font face="Verdana"> <font color="#0000ff">***************************************************************</font> </font> </font> </div> <div> <font face="Verdana" size="2"> </font>聽</div> <div> <font face="Verdana" size="2">緇撴灉浠嶄負12銆?font color="#0000ff"></font></font> </div> <div> <font face="Verdana" color="#0000ff" size="2"> </font> </div> <div dir="ltr" align="left"> <span id="5lnl3t3" class="139102807-09122005"> <font face="Verdana" size="2">鍥犱負鍙湁闈為潤鎬佺被鎴愬憳鍙橀噺鍦ㄦ柊鐢熸垚涓涓猳bject鐨勬椂鍊欐墠闇瑕佽嚜宸辯殑鍓湰銆?</font> </span> </div> <div dir="ltr" align="left"> <span id="vxdpldx" class="139102807-09122005"> <font face="Verdana" size="2">鎵浠ユ瘡涓潪闈欐佹垚鍛樺彉閲忓湪鐢熸垚鏂皁bject闇瑕佸唴瀛橈紝鑰宖unction鏄笉闇瑕佺殑銆?</font> </span> </div> <div dir="ltr" align="left"> <span id="5bzdz35" class="139102807-09122005"> <font face="Verdana" size="2"> </font> </span>聽</div> <div dir="ltr" align="left"> <span id="rztvpj5" class="139102807-09122005"> <font face="Verdana" size="2"> </font> </span>聽</div> <div dir="ltr" align="left"> <span id="xl3jxv3" class="139102807-09122005"> <font face="Verdana" size="2">娉細C++涓殑澶氭佸拰铏氱戶鎵夸篃鏄潪甯擱噸瑕佺殑涓滆タ錛屼笉榪囨瘮杈冨鏉傦紝緙栬瘧鍣ㄤ笉鍚岋紝緇嗚妭涔熸湁鎵涓嶅悓銆傦紙浠ュ悗鎱㈡參鐮旂┒錛屽搱鍝堬級<br /><br /></font> </span> </div> <img src ="http://www.tkk7.com/majianan/aggbug/64664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/majianan/" target="_blank">椹槈妤?/a> 2006-08-20 21:59 <a href="http://www.tkk7.com/majianan/archive/2006/08/20/64664.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://www-566846.com" target="_blank">一级做a爰片久久免费</a>| <a href="http://yy7699.com" target="_blank">精品亚洲456在线播放</a>| <a href="http://caocl1024liu.com" target="_blank">一级毛片在播放免费</a>| <a href="http://lzlcp.com" target="_blank">免费A级毛片在线播放不收费</a>| <a href="http://directzx.com" target="_blank">亚洲a视频在线观看</a>| <a href="http://dt677.com" target="_blank">国产v精品成人免费视频400条</a>| <a href="http://qvod-player.com" target="_blank">亚洲视频一区在线</a>| <a href="http://2886868.com" target="_blank">一级女人18毛片免费</a>| <a href="http://whdysdt.com" target="_blank">国产成人亚洲合集青青草原精品</a>| <a href="http://ynrygc.com" target="_blank">一区二区无码免费视频网站</a>| <a href="http://dsdkg.com" target="_blank">最新亚洲春色Av无码专区</a>| <a href="http://wwkk3.com" target="_blank">青青草国产免费久久久91</a>| <a href="http://sztsa.com" target="_blank">免费高清A级毛片在线播放</a>| <a href="http://wwwy6x22.com" target="_blank">国产精品亚洲综合一区</a>| <a href="http://zcrencai.com" target="_blank">99re6在线视频精品免费</a>| <a href="http://www769393.com" target="_blank">亚洲va在线va天堂va888www</a>| <a href="http://mtsp5.com" target="_blank">97av免费视频</a>| <a href="http://128313.com" target="_blank">亚洲色大成网站www永久男同</a>| <a href="http://wlamyx.com" target="_blank">老司机永久免费网站在线观看</a>| <a href="http://vvbbn.com" target="_blank">特级一级毛片免费看</a>| <a href="http://dddd20.com" target="_blank">亚洲日韩精品无码专区网址</a>| <a href="http://aplus178.com" target="_blank">久9热免费精品视频在线观看</a>| <a href="http://7766ks.com" target="_blank">久久亚洲日韩看片无码</a>| <a href="http://imfever.com" target="_blank">最近中文字幕无吗免费高清 </a>| <a href="http://www664660a.com" target="_blank">成年女性特黄午夜视频免费看</a>| <a href="http://chaikexin.com" target="_blank">亚洲愉拍一区二区三区</a>| <a href="http://cijishiye.com" target="_blank">四虎亚洲国产成人久久精品</a>| <a href="http://ulihix.com" target="_blank">国产免费久久精品99久久</a>| <a href="http://33eaa.com" target="_blank">亚洲国产精品久久久久婷婷老年</a>| <a href="http://dasheng178.com" target="_blank">91av免费观看</a>| <a href="http://927ff.com" target="_blank">免费在线观看亚洲</a>| <a href="http://www-474749.com" target="_blank">亚洲国产精品一区二区第一页</a>| <a href="http://wwwzs88.com" target="_blank">18禁成人网站免费观看</a>| <a href="http://yuduruizhi.com" target="_blank">亚洲精品色在线网站</a>| <a href="http://chinaedubrand.com" target="_blank">亚洲日韩精品无码一区二区三区</a>| <a href="http://jipiao020.com" target="_blank">亚洲精品免费在线</a>| <a href="http://xvwenyue.com" target="_blank">猫咪免费观看人成网站在线</a>| <a href="http://508009.com" target="_blank">久久亚洲一区二区</a>| <a href="http://xx16xx.com" target="_blank">全亚洲最新黄色特级网站 </a>| <a href="http://22youjizz.com" target="_blank">热久久精品免费视频</a>| <a href="http://88ww99.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>