📄 toc.htm
字号:
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp31"></A><A HREF="E_FR.HTM#6133" TARGET="_top"><NOBR>Item 22:</A></NOBR></TD><TD> </TD><TD>Prefer pass-by-reference to pass-by-value.<SCRIPT>create_link(31);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp32"></A><A HREF="E_FR.HTM#6210" TARGET="_top"><NOBR>Item 23:</A></NOBR></TD><TD> </TD><TD>Don't try to return a reference when you must return an object.<SCRIPT>create_link(32);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp33"></A><A HREF="E_FR.HTM#6250" TARGET="_top"><NOBR>Item 24:</A></NOBR></TD><TD> </TD><TD>Choose carefully between function overloading and parameter defaulting.<SCRIPT>create_link(33);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp34"></A><A HREF="E_FR.HTM#6292" TARGET="_top"><NOBR>Item 25:</A></NOBR></TD><TD> </TD><TD>Avoid overloading on a pointer and a numerical type.<SCRIPT>create_link(34);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp35"></A><A HREF="E_FR.HTM#6337" TARGET="_top"><NOBR>Item 26:</A></NOBR></TD><TD> </TD><TD>Guard against potential ambiguity.<SCRIPT>create_link(35);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp36"></A><A HREF="E_FR.HTM#6406" TARGET="_top"><NOBR>Item 27:</A></NOBR></TD><TD> </TD><TD>Explicitly disallow use of implicitly generated member functions you don't want.<SCRIPT>create_link(36);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp37"></A><A HREF="E_FR.HTM#6429" TARGET="_top"><NOBR>Item 28:</A></NOBR></TD><TD> </TD><TD>Partition the global namespace.<SCRIPT>create_link(37);</SCRIPT>
</TD></TR>
<TR><TD colspan="4" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><FONT ID="eitemtoc"><NOBR><A NAME="dingp38"></A><A HREF="E_FR.HTM#6485" TARGET="_top">Classes and Functions: Implementation</A></NOBR></FONT><SCRIPT>create_link(38);</SCRIPT>
</TD></TR>
<TD ROWSPAN="7"> </TD>
<TR><TD VALIGN="TOP"><A NAME="dingp39"></A><A HREF="E_FR.HTM#6490" TARGET="_top"><NOBR>Item 29:</A></NOBR></TD><TD> </TD><TD>Avoid returning "handles" to internal data.<SCRIPT>create_link(39);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp40"></A><A HREF="E_FR.HTM#6599" TARGET="_top"><NOBR>Item 30:</A></NOBR></TD><TD> </TD><TD>Avoid member functions that return non-</A><CODE>const</CODE> pointers or references to members less accessible than themselves.<SCRIPT>create_link(40);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp41"></A><A HREF="E_FR.HTM#6650" TARGET="_top"><NOBR>Item 31:</A></NOBR></TD><TD> </TD><TD>Never return a reference to a local object or to a dereferenced pointer initialized by </A><CODE>new</CODE> within the function.<SCRIPT>create_link(41);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp42"></A><A HREF="E_FR.HTM#25939" TARGET="_top"><NOBR>Item 32:</A></NOBR></TD><TD> </TD><TD>Postpone variable definitions as long as possible.<SCRIPT>create_link(42);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp43"></A><A HREF="E_FR.HTM#6730" TARGET="_top"><NOBR>Item 33:</A></NOBR></TD><TD> </TD><TD>Use inlining judiciously.<SCRIPT>create_link(43);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="pxi"></A><A NAME="dingp44"></A><A HREF="E_FR.HTM#6793" TARGET="_top"><NOBR>Item 34:</A></NOBR></TD><TD> </TD><TD>Minimize compilation dependencies
between files.<SCRIPT>create_link(44);</SCRIPT>
</TD></TR>
<TR><TD colspan="4" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><FONT ID="eitemtoc"><NOBR><A NAME="dingp45"></A><A HREF="E_FR.HTM#6896" TARGET="_top">Inheritance and Object-Oriented Design</A></NOBR></FONT><SCRIPT>create_link(45);</SCRIPT>
</TD></TR>
<TD ROWSPAN="11"> </TD>
<TR><TD VALIGN="TOP"><A NAME="dingp46"></A><A HREF="E_FR.HTM#6914" TARGET="_top"><NOBR>Item 35:</A></NOBR></TD><TD> </TD><TD>Make sure public inheritance models "isa."<SCRIPT>create_link(46);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp47"></A><A HREF="E_FR.HTM#7007" TARGET="_top"><NOBR>Item 36:</A></NOBR></TD><TD> </TD><TD>Differentiate between inheritance of interface and inheritance of implementation.<SCRIPT>create_link(47);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp48"></A><A HREF="E_FR.HTM#7167" TARGET="_top"><NOBR>Item 37:</A></NOBR></TD><TD> </TD><TD>Never redefine an inherited nonvirtual function.<SCRIPT>create_link(48);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp49"></A><A HREF="E_FR.HTM#177948" TARGET="_top"><NOBR>Item 38:</A></NOBR></TD><TD> </TD><TD>Never redefine an inherited default
parameter value.<SCRIPT>create_link(49);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp50"></A><A HREF="E_FR.HTM#7269" TARGET="_top"><NOBR>Item 39:</A></NOBR></TD><TD> </TD><TD>Avoid casts down the inheritance hierarchy.<SCRIPT>create_link(50);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp51"></A><A HREF="E_FR.HTM#7424" TARGET="_top"><NOBR>Item 40:</A></NOBR></TD><TD> </TD><TD>Model "has-a" or "is-implemented-in-terms-of" through layering.<SCRIPT>create_link(51);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp52"></A><A HREF="E_FR.HTM#7611" TARGET="_top"><NOBR>Item 41:</A></NOBR></TD><TD> </TD><TD>Differentiate between inheritance and templates.<SCRIPT>create_link(52);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp53"></A><A HREF="E_FR.HTM#21052" TARGET="_top"><NOBR>Item 42:</A></NOBR></TD><TD> </TD><TD>Use private inheritance judiciously.<SCRIPT>create_link(53);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp54"></A><A HREF="E_FR.HTM#7778" TARGET="_top"><NOBR>Item 43:</A></NOBR></TD><TD> </TD><TD>Use multiple inheritance judiciously.<SCRIPT>create_link(54);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp55"></A><A HREF="E_FR.HTM#8113" TARGET="_top"><NOBR>Item 44:</A></NOBR></TD><TD> </TD><TD>Say what you mean; understand what
you're saying.<SCRIPT>create_link(55);</SCRIPT>
</TD></TR>
<TR><TD colspan="4" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><FONT ID="eitemtoc"><NOBR><A NAME="dingp56"></A><A HREF="E_FR.HTM#8157" TARGET="_top">Miscellany</A></NOBR></FONT><SCRIPT>create_link(56);</SCRIPT>
</TD></TR>
<TD ROWSPAN="7"> </TD>
<TR><TD VALIGN="TOP"><A NAME="dingp57"></A><A HREF="E_FR.HTM#8160" TARGET="_top"><NOBR>Item 45:</A></NOBR></TD><TD> </TD><TD>Know what functions C++ silently writes and calls.<SCRIPT>create_link(57);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp58"></A><A HREF="E_FR.HTM#195225" TARGET="_top"><NOBR>Item 46:</A></NOBR></TD><TD> </TD><TD>Prefer compile-time and link-time errors to runtime errors.<SCRIPT>create_link(58);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp59"></A><A HREF="E_FR.HTM#8299" TARGET="_top"><NOBR>Item 47:</A></NOBR></TD><TD> </TD><TD>Ensure that non-local static objects are
initialized before they're used.<SCRIPT>create_link(59);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp60"></A><A HREF="E_FR.HTM#8378" TARGET="_top"><NOBR>Item 48:</A></NOBR></TD><TD> </TD><TD>Pay attention to compiler warnings.<SCRIPT>create_link(60);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp61"></A><A HREF="E_FR.HTM#8392" TARGET="_top"><NOBR>Item 49:</A></NOBR></TD><TD> </TD><TD>Familiarize yourself with the standard library.<SCRIPT>create_link(61);</SCRIPT>
</TD></TR>
<TR><TD VALIGN="TOP"><A NAME="dingp62"></A><A HREF="E_FR.HTM#8569" TARGET="_top"><NOBR>Item 50:</A></NOBR></TD><TD> </TD><TD>Improve your understanding of C++.<SCRIPT>create_link(62);</SCRIPT>
</TD></TR>
<TR><TD colspan="4" VALIGN="TOP"><HR WIDTH="100%" SIZE="1"><FONT ID="eitemtoc"><NOBR><A NAME="dingp63"></A><A HREF="E_FR.HTM#239" TARGET="_top">Afterword</A></NOBR></FONT><SCRIPT>create_link(63);</SCRIPT>
</TD></TR>
<TR><TD colspan="4" VALIGN="TOP"><FONT ID="eitemtoc"><NOBR><A NAME="dingp64"></A><A HREF="../BOOKINDX/INDEX.HTM" TARGET="_top">Index</A></NOBR></FONT><SCRIPT>create_link(64);</SCRIPT>
</TD></TR>
</TABLE>
</p>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -