上传cppreference

This commit is contained in:
2025-08-01 12:57:54 +08:00
parent e29892f8cd
commit 196e706fe4
5485 changed files with 982007 additions and 3 deletions

View File

@@ -0,0 +1,147 @@
<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#19977;/&#20116;/&#38646;&#20043;&#27861;&#21017;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_language_rule_of_three skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#19977;/&#20116;/&#38646;&#20043;&#27861;&#21017;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-language.html">language</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<h3><span class="mw-headline" id=".E4.B8.89.E4.B9.8B.E6.B3.95.E5.88.99">&#19977;&#20043;&#27861;&#21017;</span></h3>
<p>&#33509;&#26576;&#20010;&#31867;&#38656;&#35201;&#29992;&#25143;&#23450;&#20041;&#30340;<a href="cpp-language-destructor.html">&#26512;&#26500;&#20989;&#25968;</a>&#12289;&#29992;&#25143;&#23450;&#20041;&#30340;<a href="cpp-language-copy_constructor.html">&#22797;&#21046;&#26500;&#36896;&#20989;&#25968;</a>&#25110;&#29992;&#25143;&#23450;&#20041;&#30340;<a href="cpp-language-copy_assignment.html">&#22797;&#21046;&#36171;&#20540;&#36816;&#31639;&#31526;</a>&#65292;&#21017;&#23427;&#20960;&#20046;&#32943;&#23450;&#19977;&#32773;&#20840;&#37096;&#37117;&#38656;&#35201;&#12290;</p>
<p>&#22240;&#20026; C++ &#22312;&#21508;&#31181;&#22330;&#21512;&#65288;&#25353;&#20540;&#20256;&#36882;/&#36820;&#22238;&#12289;&#25805;&#32437;&#23481;&#22120;&#31561;&#65289;&#23545;&#23545;&#35937;&#36827;&#34892;&#22797;&#21046;&#21644;&#22797;&#21046;&#36171;&#20540;&#65292;&#33509;&#21487;&#35775;&#38382;&#65292;&#36825;&#20123;&#29305;&#27530;&#25104;&#21592;&#20989;&#25968;&#23601;&#20250;&#34987;&#35843;&#29992;&#65292;&#32780;&#19988;&#33509;&#29992;&#25143;&#19981;&#23450;&#20041;&#20182;&#20204;&#65292;&#21017;&#32534;&#35793;&#22120;&#20250;&#38544;&#24335;&#23450;&#20041;&#12290;</p>
<p>&#22914;&#26524;&#31867;&#23545;&#26576;&#31181;&#36164;&#28304;&#36827;&#34892;&#31649;&#29702;&#65292;&#32780;&#36164;&#28304;&#21477;&#26564;&#26159;&#38750;&#31867;&#31867;&#22411;&#30340;&#23545;&#35937;&#65288;&#35064;&#25351;&#38024;&#12289;POSIX &#25991;&#20214;&#25551;&#36848;&#31526;&#31561;&#65289;&#65292;&#21017;&#36825;&#20123;&#38544;&#24335;&#23450;&#20041;&#30340;&#25104;&#21592;&#20989;&#25968;&#36890;&#24120;&#37117;&#19981;&#27491;&#30830;&#65292;&#20854;&#26512;&#26500;&#20989;&#25968;&#19981;&#20570;&#20219;&#20309;&#20107;&#65292;&#32780;&#22797;&#21046;&#26500;&#36896;&#20989;&#25968;/&#22797;&#21046;&#36171;&#20540;&#36816;&#31639;&#31526;&#21017;&#36827;&#34892;&ldquo;&#27973;&#22797;&#21046;&rdquo;&#65288;&#22797;&#21046;&#21477;&#26564;&#30340;&#20540;&#65292;&#32780;&#19981;&#22797;&#21046;&#24213;&#23618;&#36164;&#28304;&#65289;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">class</span> rule_of_three
<span class="br0">{</span>
<span class="kw4">char</span><span class="sy2">*</span> cstring<span class="sy4">;</span> <span class="co1">// &#20197;&#35064;&#25351;&#38024;&#20026;&#21160;&#24577;&#20998;&#37197;&#20869;&#23384;&#30340;&#21477;&#26564;</span>
<span class="kw4">void</span> init<span class="br0">(</span><span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> s<span class="br0">)</span>
<span class="br0">{</span>
<a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-string-byte-strlen.html"><span class="kw1145">std::<span class="me2">strlen</span></span></a><span class="br0">(</span>s<span class="br0">)</span> <span class="sy2">+</span> <span class="nu0">1</span><span class="sy4">;</span>
cstring <span class="sy1">=</span> new <span class="kw4">char</span><span class="br0">[</span>n<span class="br0">]</span><span class="sy4">;</span>
<a href="cpp-string-byte-memcpy.html"><span class="kw1159">std::<span class="me2">memcpy</span></span></a><span class="br0">(</span>cstring, s, n<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#22635;&#20805;</span>
<span class="br0">}</span>
<span class="kw1">public</span><span class="sy4">:</span>
rule_of_three<span class="br0">(</span><span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> s <span class="sy1">=</span> <span class="st0">&quot;&quot;</span><span class="br0">)</span> <span class="br0">{</span> init<span class="br0">(</span>s<span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span>
~rule_of_three<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
delete<span class="br0">[</span><span class="br0">]</span> cstring<span class="sy4">;</span> <span class="co1">// &#35299;&#20998;&#37197;</span>
<span class="br0">}</span>
rule_of_three<span class="br0">(</span><span class="kw4">const</span> rule_of_three<span class="sy3">&amp;</span> other<span class="br0">)</span> <span class="co1">// &#22797;&#21046;&#26500;&#36896;&#20989;&#25968;</span>
<span class="br0">{</span>
init<span class="br0">(</span>other.<span class="me1">cstring</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
rule_of_three<span class="sy3">&amp;</span> operator<span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> rule_of_three<span class="sy3">&amp;</span> other<span class="br0">)</span> <span class="co1">// &#22797;&#21046;&#36171;&#20540;</span>
<span class="br0">{</span>
<span class="kw1">if</span><span class="br0">(</span>this <span class="sy3">!</span><span class="sy1">=</span> <span class="sy3">&amp;</span>other<span class="br0">)</span> <span class="br0">{</span>
delete<span class="br0">[</span><span class="br0">]</span> cstring<span class="sy4">;</span> <span class="co1">// &#35299;&#20998;&#37197;</span>
init<span class="br0">(</span>other.<span class="me1">cstring</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">return</span> <span class="sy2">*</span>this<span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<p>&#36890;&#36807;&#21487;&#22797;&#21046;&#21477;&#26564;&#26469;&#31649;&#29702;&#19981;&#21487;&#22797;&#21046;&#36164;&#28304;&#30340;&#31867;&#65292;&#21487;&#33021;&#24517;&#39035;&#23558;&#20854;&#22797;&#21046;&#36171;&#20540;&#21644;&#22797;&#21046;&#26500;&#36896;&#20989;&#25968;&#22768;&#26126;&#20026;&#31169;&#26377;&#30340;&#24182;&#19988;&#19981;&#25552;&#20379;&#20854;&#23450;&#20041;&#65292;&#25110;&#23558;&#23427;&#20204;&#23450;&#20041;&#20026;&#24323;&#32622;&#30340;&#12290;&#36825;&#26159;&#19977;&#20043;&#27861;&#21017;&#30340;&#21478;&#19968;&#31181;&#24212;&#29992;&#65306;&#21024;&#38500;&#20854;&#20013;&#20043;&#19968;&#32780;&#36951;&#30041;&#20854;&#20182;&#34987;&#38544;&#24335;&#23450;&#20041;&#24456;&#21487;&#33021;&#20250;&#23548;&#33268;&#38169;&#35823;&#12290;</p>
<h3><span class="mw-headline" id=".E4.BA.94.E4.B9.8B.E6.B3.95.E5.88.99">&#20116;&#20043;&#27861;&#21017;</span></h3>
<p>&#22240;&#20026;&#29992;&#25143;&#23450;&#20041;&#26512;&#26500;&#20989;&#25968;&#12289;&#22797;&#21046;&#26500;&#36896;&#20989;&#25968;&#25110;&#22797;&#21046;&#36171;&#20540;&#36816;&#31639;&#31526;&#30340;&#23384;&#22312;&#38459;&#27490;<a href="cpp-language-move_constructor.html">&#31227;&#21160;&#26500;&#36896;&#20989;&#25968;</a>&#21644;<a href="cpp-language-move_assignment.html">&#31227;&#21160;&#36171;&#20540;&#36816;&#31639;&#31526;</a>&#30340;&#38544;&#24335;&#23450;&#20041;&#65292;&#25152;&#20197;&#20219;&#20309;&#24819;&#35201;&#31227;&#21160;&#35821;&#20041;&#30340;&#31867;&#24517;&#39035;&#22768;&#26126;&#20840;&#37096;&#20116;&#20010;&#29305;&#27530;&#25104;&#21592;&#20989;&#25968;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">class</span> rule_of_five
<span class="br0">{</span>
<span class="kw4">char</span><span class="sy2">*</span> cstring<span class="sy4">;</span> <span class="co1">// &#20197;&#35064;&#25351;&#38024;&#20026;&#21160;&#24577;&#20998;&#37197;&#20869;&#23384;&#30340;&#21477;&#26564;</span>
<span class="kw1">public</span><span class="sy4">:</span>
rule_of_five<span class="br0">(</span><span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> s <span class="sy1">=</span> <span class="st0">&quot;&quot;</span><span class="br0">)</span>
<span class="sy4">:</span> cstring<span class="br0">(</span>nullptr<span class="br0">)</span>
<span class="br0">{</span>
<span class="kw1">if</span> <span class="br0">(</span>s<span class="br0">)</span> <span class="br0">{</span>
<a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-string-byte-strlen.html"><span class="kw1145">std::<span class="me2">strlen</span></span></a><span class="br0">(</span>s<span class="br0">)</span> <span class="sy2">+</span> <span class="nu0">1</span><span class="sy4">;</span>
cstring <span class="sy1">=</span> new <span class="kw4">char</span><span class="br0">[</span>n<span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#20998;&#37197;</span>
<a href="cpp-string-byte-memcpy.html"><span class="kw1159">std::<span class="me2">memcpy</span></span></a><span class="br0">(</span>cstring, s, n<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#22635;&#20805;</span>
<span class="br0">}</span>
<span class="br0">}</span>
~rule_of_five<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
delete<span class="br0">[</span><span class="br0">]</span> cstring<span class="sy4">;</span> <span class="co1">// &#35299;&#20998;&#37197;</span>
<span class="br0">}</span>
rule_of_five<span class="br0">(</span><span class="kw4">const</span> rule_of_five<span class="sy3">&amp;</span> other<span class="br0">)</span> <span class="co1">// &#22797;&#21046;&#26500;&#36896;&#20989;&#25968;</span>
<span class="sy4">:</span> rule_of_five<span class="br0">(</span>other.<span class="me1">cstring</span><span class="br0">)</span>
<span class="br0">{</span><span class="br0">}</span>
rule_of_five<span class="br0">(</span>rule_of_five<span class="sy3">&amp;&amp;</span> other<span class="br0">)</span> <span class="kw1">noexcept</span> <span class="co1">// &#31227;&#21160;&#26500;&#36896;&#20989;&#25968;</span>
<span class="sy4">:</span> cstring<span class="br0">(</span><a href="cpp-utility-exchange.html"><span class="kw1118">std::<span class="me2">exchange</span></span></a><span class="br0">(</span>other.<span class="me1">cstring</span>, nullptr<span class="br0">)</span><span class="br0">)</span>
<span class="br0">{</span><span class="br0">}</span>
rule_of_five<span class="sy3">&amp;</span> operator<span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> rule_of_five<span class="sy3">&amp;</span> other<span class="br0">)</span> <span class="co1">// &#22797;&#21046;&#36171;&#20540;</span>
<span class="br0">{</span>
<span class="kw1">return</span> <span class="sy2">*</span>this <span class="sy1">=</span> rule_of_five<span class="br0">(</span>other<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
rule_of_five<span class="sy3">&amp;</span> operator<span class="sy1">=</span><span class="br0">(</span>rule_of_five<span class="sy3">&amp;&amp;</span> other<span class="br0">)</span> <span class="kw1">noexcept</span> <span class="co1">// &#31227;&#21160;&#36171;&#20540;</span>
<span class="br0">{</span>
<a href="cpp-algorithm-swap.html"><span class="kw1599">std::<span class="me2">swap</span></span></a><span class="br0">(</span>cstring, other.<span class="me1">cstring</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">return</span> <span class="sy2">*</span>this<span class="sy4">;</span>
<span class="br0">}</span>
<span class="co1">// &#21478;&#19968;&#31181;&#26041;&#27861;&#26159;&#29992;&#20197;&#19979;&#20989;&#25968;&#26367;&#20195;&#20004;&#20010;&#36171;&#20540;&#36816;&#31639;&#31526;</span>
<span class="co1">// rule_of_five&amp; operator=(rule_of_five other) noexcept</span>
<span class="co1">// {</span>
<span class="co1">// std::swap(cstring, other.cstring);</span>
<span class="co1">// return *this;</span>
<span class="co1">// }</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<p>&#19982;&#19977;&#20043;&#27861;&#21017;&#19981;&#21516;&#30340;&#26159;&#65292;&#19981;&#25552;&#20379;&#31227;&#21160;&#26500;&#36896;&#20989;&#25968;&#21644;&#31227;&#21160;&#36171;&#20540;&#36816;&#31639;&#31526;&#36890;&#24120;&#19981;&#26159;&#38169;&#35823;&#65292;&#20294;&#20250;&#23548;&#33268;&#22833;&#21435;&#20248;&#21270;&#26426;&#20250;&#12290;</p>
<h3><span class="mw-headline" id=".E9.9B.B6.E4.B9.8B.E6.B3.95.E5.88.99">&#38646;&#20043;&#27861;&#21017;</span></h3>
<p>&#26377;&#33258;&#23450;&#20041;&#26512;&#26500;&#20989;&#25968;&#12289;&#22797;&#21046;/&#31227;&#21160;&#26500;&#36896;&#20989;&#25968;&#25110;&#22797;&#21046;/&#31227;&#21160;&#36171;&#20540;&#36816;&#31639;&#31526;&#30340;&#31867;&#24212;&#35813;&#19987;&#38376;&#22788;&#29702;&#25152;&#26377;&#26435;&#65288;&#36825;&#36981;&#24490;<a href="https://en.wikipedia.org/wiki/Single_responsibility_principle" class="extiw" title="enwiki:Single responsibility principle">&#21333;&#19968;&#36131;&#20219;&#21407;&#21017;</a>&#65289;&#12290;&#20854;&#20182;&#31867;&#37117;&#19981;&#24212;&#35813;&#25317;&#26377;&#33258;&#23450;&#20041;&#30340;&#26512;&#26500;&#20989;&#25968;&#12289;&#22797;&#21046;/&#31227;&#21160;&#26500;&#36896;&#20989;&#25968;&#25110;&#22797;&#21046;/&#31227;&#21160;&#36171;&#20540;&#36816;&#31639;&#31526;<sup id="cite_ref-1" class="reference"><a href="cpp-language-rule_of_three.html#cite_note-1">[1]</a></sup></p>
<p>&#36825;&#26465;&#27861;&#21017;&#20063;&#22312; C++ &#26680;&#24515;&#25351;&#21335;&#65288;C++ Core Guidelines&#65289;&#20013;&#20986;&#29616;&#65292;&#20026; <a rel="nofollow" class="external text" href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rc-zero">C.20&#65306;&#19968;&#26086;&#21487;&#20197;&#36991;&#20813;&#23450;&#20041;&#40664;&#35748;&#25805;&#20316;&#23601;&#24212;&#24403;&#26045;&#34892;</a>&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">class</span> rule_of_zero
<span class="br0">{</span>
<a href="cpp-string-basic_string.html"><span class="kw1230">std::<span class="me2">string</span></span></a> cppstring<span class="sy4">;</span>
<span class="kw1">public</span><span class="sy4">:</span>
rule_of_zero<span class="br0">(</span><span class="kw4">const</span> <a href="cpp-string-basic_string.html"><span class="kw1230">std::<span class="me2">string</span></span></a><span class="sy3">&amp;</span> arg<span class="br0">)</span> <span class="sy4">:</span> cppstring<span class="br0">(</span>arg<span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<p>&#24403;&#26377;&#24847;&#23558;&#26576;&#20010;&#22522;&#31867;&#29992;&#20110;&#22810;&#24577;&#29992;&#36884;&#26102;&#65292;&#21487;&#33021;&#24517;&#39035;&#23558;&#20854;&#26512;&#26500;&#20989;&#25968;&#22768;&#26126;&#20026;&#20844;&#24320;&#30340;&#34394;&#20989;&#25968;&#12290;&#30001;&#20110;&#36825;&#20250;&#38459;&#25318;&#38544;&#24335;&#31227;&#21160;&#65288;&#24182;&#24323;&#29992;&#38544;&#24335;&#22797;&#21046;&#65289;&#30340;&#29983;&#25104;&#65292;&#22240;&#32780;&#24517;&#39035;&#23558;&#21508;&#29305;&#27530;&#25104;&#21592;&#20989;&#25968;&#22768;&#26126;&#20026;&#39044;&#32622;&#30340;<sup id="cite_ref-2" class="reference"><a href="cpp-language-rule_of_three.html#cite_note-2">[2]</a></sup></p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">class</span> base_of_five_defaults
<span class="br0">{</span>
<span class="kw1">public</span><span class="sy4">:</span>
base_of_five_defaults<span class="br0">(</span><span class="kw4">const</span> base_of_five_defaults<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span>
base_of_five_defaults<span class="br0">(</span>base_of_five_defaults<span class="sy3">&amp;&amp;</span><span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span>
base_of_five_defaults<span class="sy3">&amp;</span> operator<span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> base_of_five_defaults<span class="sy3">&amp;</span><span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span>
base_of_five_defaults<span class="sy3">&amp;</span> operator<span class="sy1">=</span><span class="br0">(</span>base_of_five_defaults<span class="sy3">&amp;&amp;</span><span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span>
<span class="kw1">virtual</span> ~base_of_five_defaults<span class="br0">(</span><span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<p>&#28982;&#32780;&#36825;&#20351;&#24471;&#31867;&#26377;&#21487;&#33021;&#34987;&#20999;&#29255;&#65292;&#36825;&#26159;&#22810;&#24577;&#31867;&#32463;&#24120;&#25226;&#22797;&#21046;&#23450;&#20041;&#20026;&#24323;&#32622;&#30340;&#21407;&#22240;&#65288;&#35265; C++ &#26680;&#24515;&#25351;&#21335;&#20013;&#30340; <a rel="nofollow" class="external text" href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rc-copy-virtual">C.67&#65306;&#22810;&#24577;&#31867;&#24212;&#35813;&#25233;&#21046;&#22797;&#21046;&#25805;&#20316;</a>&#65289;&#65292;&#36825;&#24102;&#26469;&#20102;&#19979;&#21015;&#30340;&#20116;&#20043;&#27861;&#21017;&#30340;&#36890;&#29992;&#35828;&#27861;&#65306;</p>
<dl>
<dd><a rel="nofollow" class="external text" href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rc-five">C.21&#65306;&#33509;&#26377;&#20219;&#20309;&#40664;&#35748;&#25805;&#20316;&#34987;&#23450;&#20041;&#25110; =delete&#65292;&#21017;&#24212;&#24403;&#23545;&#23427;&#20204;&#20840;&#37096;&#36827;&#34892;&#23450;&#20041;&#25110; =delete</a></dd>
</dl>
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">&#24341;&#29992;</span></h3>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="cpp-language-rule_of_three.html#cite_ref-1">&uarr;</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://rmf.io/cxx11/rule-of-zero">&ldquo;&#38646;&#20043;&#27861;&#21017;&rdquo;&#65292;R. Martinho Fernandes 8/15/2012</a></span></li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="cpp-language-rule_of_three.html#cite_ref-2">&uarr;</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://scottmeyers.blogspot.fr/2014/03/a-concern-about-rule-of-zero.html">&ldquo;&#20851;&#20110;&#38646;&#20043;&#27861;&#21017;&#30340;&#32771;&#34385;&rdquo;&#65292;Scott Meyers, 3/13/2014</a></span></li>
</ol>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>