<p class="MsoNormal"><span lang="EN-US">Hi All,</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">I read some code in c++ that try to make
the class non-copyable. In boost there is one utility class called
noncopyable, which will make the code more clean and easy to read. </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Old way:</span></p>
<p class="MsoNormal"><span lang="EN-US">Class PleaseDonotCopyMe </span></p>
<p class="MsoNormal"><span lang="EN-US">{</span></p>
<p class="MsoNormal"><span lang="EN-US">Private</span><span style="font-family:
宋体">:</span></p>
<p class="MsoNormal"><span lang="EN-US">
PleaseDonotCopyMe(const PleaseDonotCopyMe &);</span></p>
<p class="MsoNormal"><span lang="EN-US">
PleaseDonotCopyMe & operator=(const PleaseDonotCopyMe &);</span></p>
<p class="MsoNormal"><span lang="EN-US">};</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Boost way:</span></p>
<p class="MsoNormal"><span lang="EN-US">#include <boost/utility.hpp></span></p>
<p class="MsoNormal"><span lang="EN-US">Class PleaseDonotCopyMe :
boost::noncopyable // use private inheritance just means that the
relationship between PleaseDonotCopyMe and noncopyable isn’t IS-A </span></p>
<p class="MsoNormal"><span lang="EN-US">{};</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">feng</span></p>