⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tocback.htm

📁 一个非常适合初学者入门的有关c++的文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd">
<HTML LANG="EN">
<HEAD>
<TITLE>More Effective C++ | Table of Contents</TITLE>
<LINK REL=STYLESHEET HREF=../INTRO/ECMEC.CSS>


<SCRIPT LANGUAGE="JavaScript" SRC="../JAVA/COOKIE.JS"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">var imagemax = 0; setCurrentMax(0);</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">var chunk = getCookie("chunk");if(chunk != "Book"){top.location.reload();}</SCRIPT>

</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" ONLOAD="setResize()">

<DIV ID="mgtitle">More Effective C++ Contents</DIV>
<P>

<TABLE CELLPADDING="3" WIDTH="100%" BORDER="0">
<TR><TD COLSPAN="3" VALIGN="TOP"><DIV ID="mitemtoc"><a href="M_FR.HTM#ded" TARGET="_top">Dedication</A></DIV></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><DIV ID="mitemtoc"><a href="M_FR.HTM#pxi" TARGET="_top">Acknowledgments</A></DIV></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><DIV ID="mitemtoc"><a href="M_FR.HTM#p1" TARGET="_top">Introduction</A></DIV></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#10979" TARGET="_top">Basics</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="5"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#11029" TARGET="_top"><NOBR>Item 1:</A>&nbsp;&nbsp;&nbsp;&nbsp;</NOBR></TD><TD>Distinguish between pointers and references</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#77216" TARGET="_top"><NOBR>Item 2:</A></NOBR></TD><TD>Prefer C++-style casts</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#84818" TARGET="_top"><NOBR>Item 3:</A></NOBR></TD><TD>Never treat arrays polymorphically</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5218" TARGET="_top"><NOBR>Item 4:</A></NOBR></TD><TD>Avoid gratuitous default constructors</TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#5701" TARGET="_top">Operators</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="5"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5970" TARGET="_top"><NOBR>Item 5:</A></NOBR></TD><TD>Be wary of user-defined conversion functions</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5262" TARGET="_top"><NOBR>Item 6:</A></NOBR></TD><TD>Distinguish between prefix and postfix forms of increment and decrement operators</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#77702" TARGET="_top"><NOBR>Item 7:</A></NOBR></TD><TD>Never overload <CODE>&amp;&amp;</CODE>, <CODE>||</CODE>, or <CODE>,</CODE></TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#33985" TARGET="_top"><NOBR>Item 8:</A></NOBR></TD><TD>Understand the different meanings of <CODE>new</CODE>and <CODE>delete</CODE></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#71622" TARGET="_top">Exceptions</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="8"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5292" TARGET="_top"><NOBR>Item 9:</A></NOBR></TD><TD>Use destructors to prevent resource leaks</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#38223" TARGET="_top"><NOBR>Item 10:</A></NOBR></TD><TD>Prevent resource leaks in constructors</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#39749" TARGET="_top"><NOBR>Item 11:</A></NOBR></TD><TD>Prevent exceptions from leaving destructors</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#76790" TARGET="_top"><NOBR>Item 12:</A></NOBR></TD><TD>Understand how throwing an exception differs from passing a parameter or calling a virtual function</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#38224" TARGET="_top"><NOBR>Item 13:</A></NOBR></TD><TD>Catch exceptions by reference</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#6011" TARGET="_top"><NOBR>Item 14:</A></NOBR></TD><TD>Use exception specifications judiciously</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#40989" TARGET="_top"><NOBR>Item 15:</A></NOBR></TD><TD>Understand the costs of exception handling</TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#66196" TARGET="_top">Efficiency</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="10"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#40995" TARGET="_top"><NOBR>Item 16:</A></NOBR></TD><TD>Remember the 80-20 rule</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41011" TARGET="_top"><NOBR>Item 17:</A></NOBR></TD><TD>Consider using lazy evaluation</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41124" TARGET="_top"><NOBR>Item 18:</A></NOBR></TD><TD>Amortize the cost of expected computations</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41177" TARGET="_top"><NOBR>Item 19:</A></NOBR></TD><TD>Understand the origin of temporary objects</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#45310" TARGET="_top"><NOBR>Item 20:</A></NOBR></TD><TD>Facilitate the return value optimization</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41187" TARGET="_top"><NOBR>Item 21:</A></NOBR></TD><TD>Overload to avoid implicit type conversions</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41251" TARGET="_top"><NOBR>Item 22:</A></NOBR></TD><TD>Consider using <I>op=</I> instead of stand-alone <I>op</I></A></TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41253" TARGET="_top"><NOBR>Item 23:</A></NOBR></TD><TD>Consider alternative libraries</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#41284" TARGET="_top"><NOBR>Item 24:</A></NOBR></TD><TD>Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI</TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#6056" TARGET="_top">Techniques</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="8"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5341" TARGET="_top"><NOBR>Item 25:</A></NOBR></TD><TD>Virtualizing constructors and non-member functions</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5350" TARGET="_top"><NOBR>Item 26:</A></NOBR></TD><TD>Limiting the number of objects of a class</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#22627" TARGET="_top"><NOBR>Item 27:</A></NOBR></TD><TD>Requiring or prohibiting heap-based objects</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#61766" TARGET="_top"><NOBR>Item 28:</A></NOBR></TD><TD>Smart pointers</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#6073" TARGET="_top"><NOBR>Item 29:</A></NOBR></TD><TD>Reference counting</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#6074" TARGET="_top"><NOBR>Item 30:</A></NOBR></TD><TD>Proxy classes</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#34883" TARGET="_top"><NOBR>Item 31:</A></NOBR></TD><TD>Making functions virtual with respect to more than one object</TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><A HREF="M_FR.HTM#54005" TARGET="_top">Miscellany</A></NOBR></DIV></TD></TR>
<TD ROWSPAN="5"> &nbsp; </TD>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5373" TARGET="_top"><NOBR>Item 32:</A></NOBR></TD><TD>Program in the future tense</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#10947" TARGET="_top"><NOBR>Item 33:</A></NOBR></TD><TD>Make non-leaf classes abstract</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#33950" TARGET="_top"><NOBR>Item 34:</A></NOBR></TD><TD>Understand how to combine C++ and C in the same program</TD></TR>
<TR><TD VALIGN="TOP"><A HREF="M_FR.HTM#5473" TARGET="_top"><NOBR>Item 35:</A></NOBR></TD><TD>Familiarize yourself with the language standard</TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><DIV ID="mitemtoc"><NOBR><a href="M_FR.HTM#513" TARGET="_top">Recommended Reading</A></NOBR></DIV></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><DIV ID="mitemtoc"><NOBR><a href="M_FR.HTM#p291" TARGET="_top">An <CODE>auto_ptr</CODE> Implementation</A></NOBR></DIV></TD></TR>
<TR><TD COLSPAN="3" VALIGN="TOP"><DIV ID="mitemtoc"><NOBR><a href="../BOOKINDX/INDEX.HTM" TARGET="_top">General Index</A></NOBR></DIV></TD></TR>
</TABLE>


</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -