﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-万星星-最新评论</title><link>http://www.cppblog.com/wlwlxj/CommentsRSS.aspx</link><description>&lt;div&gt;一个吃软饭的男人!!!!!我只想写程序####&lt;br&gt;师夷之技以制夷   吾尝终日而思矣,不如须臾之所学也&lt;br&gt;喝碗孟婆汤,踏过奈何桥,涅槃&lt;/div&gt;
I've been programming since I was 21. Started with C++, looked at Java, keen on Visual Basic and Visual C++, thinking about .NET and C#.^_^,very ridiculous.</description><language>zh-cn</language><pubDate>Tue, 30 Jun 2009 07:28:51 GMT</pubDate><lastBuildDate>Tue, 30 Jun 2009 07:28:51 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: Xindows第一版本快整理完了</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/29/88695.html#88845</link><dc:creator>cursesun</dc:creator><author>cursesun</author><pubDate>Mon, 29 Jun 2009 15:45:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/29/88695.html#88845</guid><description><![CDATA[关注中<img src ="http://www.cppblog.com/wlwlxj/aggbug/88845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">cursesun</a> 2009-06-29 23:45 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/29/88695.html#88845#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 这几个月的成果</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/21/83380.html#88235</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Sun, 21 Jun 2009 13:14:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/21/83380.html#88235</guid><description><![CDATA[一个界面翻译引擎，按照自己的想法加上一些现有的实现，模拟类似Flash WPF这样的界面框架，仅仅是猜想而已，不一定可以达到，重在学习的过程与积累的过程。<img src ="http://www.cppblog.com/wlwlxj/aggbug/88235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-06-21 21:14 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/21/83380.html#88235#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 使MFC变漂亮二：MFC与HTML交互示例[未登录]</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/20/10343.html#88169</link><dc:creator>风</dc:creator><author>风</author><pubDate>Sat, 20 Jun 2009 05:26:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/20/10343.html#88169</guid><description><![CDATA[你好，请教一下vc与js交互问题，这是我的邮箱<br>qfeng.008@gmail.com<img src ="http://www.cppblog.com/wlwlxj/aggbug/88169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">风</a> 2009-06-20 13:26 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/20/10343.html#88169#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 甘特图1.0.0β发布</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/10/61230.html#87365</link><dc:creator>托尔斯泰</dc:creator><author>托尔斯泰</author><pubDate>Wed, 10 Jun 2009 15:06:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/10/61230.html#87365</guid><description><![CDATA[狗日的 强<img src ="http://www.cppblog.com/wlwlxj/aggbug/87365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">托尔斯泰</a> 2009-06-10 23:06 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/10/61230.html#87365#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 甘特图1.0.0β发布[未登录]</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/09/61230.html#87188</link><dc:creator>123</dc:creator><author>123</author><pubDate>Tue, 09 Jun 2009 07:20:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/09/61230.html#87188</guid><description><![CDATA[楼主能作出这样的效果来，不简单，佩服<img src ="http://www.cppblog.com/wlwlxj/aggbug/87188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">123</a> 2009-06-09 15:20 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/09/61230.html#87188#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 甘特图第一版本发布</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/08/62823.html#87045</link><dc:creator>Lareina</dc:creator><author>Lareina</author><pubDate>Mon, 08 Jun 2009 02:41:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/08/62823.html#87045</guid><description><![CDATA[如果在使用甘特图控件作出来的报表模块，提示PmAdoAdapter未授权是什么问题？请高手指点，谢谢<img src ="http://www.cppblog.com/wlwlxj/aggbug/87045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">Lareina</a> 2009-06-08 10:41 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/08/62823.html#87045#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/05/86660.html#86864</link><dc:creator>Touchsoft</dc:creator><author>Touchsoft</author><pubDate>Fri, 05 Jun 2009 09:50:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/05/86660.html#86864</guid><description><![CDATA[struct DBGALLOCHDR<br>这个结构好像在调试时见到过。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">Touchsoft</a> 2009-06-05 17:50 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/05/86660.html#86864#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 我得C++学习心得</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/05/3567.html#86857</link><dc:creator>admin</dc:creator><author>admin</author><pubDate>Fri, 05 Jun 2009 08:48:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/05/3567.html#86857</guid><description><![CDATA[@蚂蚁终结者<br>我也自学了好一段时间C++了但感觉收获很少、、、、学好真的有点难度!<img src ="http://www.cppblog.com/wlwlxj/aggbug/86857.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">admin</a> 2009-06-05 16:48 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/05/3567.html#86857#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86769</link><dc:creator>99网上书城</dc:creator><author>99网上书城</author><pubDate>Thu, 04 Jun 2009 09:59:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86769</guid><description><![CDATA[感谢你的指导<img src ="http://www.cppblog.com/wlwlxj/aggbug/86769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">99网上书城</a> 2009-06-04 17:59 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86769#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86737</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Thu, 04 Jun 2009 04:13:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86737</guid><description><![CDATA[微软的什么我没有必要告诉你，crt的动态库我不晓得你怎么想，用dependency工具看看就晓得依赖不依赖了，我对自己的认识也不是十足的把握。 <img src ="http://www.cppblog.com/wlwlxj/aggbug/86737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-06-04 12:13 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86737#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86735</link><dc:creator>OwnWaterloo</dc:creator><author>OwnWaterloo</author><pubDate>Thu, 04 Jun 2009 04:04:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86735</guid><description><![CDATA[@万连文<br>微软的哪？ MFC？<br><br>上面的命令行 cl /MD 已经告诉编译器链接到动态库了。<br>vc6不支持是因为它只有静态库。 crt的动态库是跟.net那一套东西一起出来的。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86735.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">OwnWaterloo</a> 2009-06-04 12:04 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86735#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86731</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Thu, 04 Jun 2009 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86731</guid><description><![CDATA[因为我是看微软这么做的，自己确实没有发现什么错误，我没法不承认她的实现可以为我所用，可能就是中毒太深吧。您上面写的那些已经超出了我的知识范围，我需要好好学习。至于 vc6不支持动态crt库 好像可以通过修改/MLd到/MDd实现。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-06-04 11:29 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86731#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86723</link><dc:creator>OwnWaterloo</dc:creator><author>OwnWaterloo</author><pubDate>Thu, 04 Jun 2009 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86723</guid><description><![CDATA[<div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
<div><span style="COLOR: #008080">&nbsp;&nbsp;1</span><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stddef.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">vector</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdexcept</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#if</span><span style="COLOR: #000000">&nbsp;defined(_MSC_VER)&nbsp;&amp;&amp;&nbsp;_MSC_VER&lt;1400</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;11</span><span style="COLOR: #000000"><img id=Codehighlighter1_171_219_Open_Image onclick="this.style.display='none'; Codehighlighter1_171_219_Open_Text.style.display='none'; Codehighlighter1_171_219_Closed_Image.style.display='inline'; Codehighlighter1_171_219_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_171_219_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_171_219_Closed_Text.style.display='none'; Codehighlighter1_171_219_Open_Image.style.display='inline'; Codehighlighter1_171_219_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std&nbsp;</span><span id=Codehighlighter1_171_219_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_171_219_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;::set_new_handler;&nbsp;</span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;::new_handler;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;17</span><span style="COLOR: #000000"><img id=Codehighlighter1_279_645_Open_Image onclick="this.style.display='none'; Codehighlighter1_279_645_Open_Text.style.display='none'; Codehighlighter1_279_645_Closed_Image.style.display='inline'; Codehighlighter1_279_645_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_279_645_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_279_645_Closed_Text.style.display='none'; Codehighlighter1_279_645_Open_Image.style.display='inline'; Codehighlighter1_279_645_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;allocate(size_t&nbsp;size)&nbsp;</span><span id=Codehighlighter1_279_645_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_279_645_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(size</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;size&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;19</span><span style="COLOR: #000000"><img id=Codehighlighter1_330_643_Open_Image onclick="this.style.display='none'; Codehighlighter1_330_643_Open_Text.style.display='none'; Codehighlighter1_330_643_Closed_Image.style.display='inline'; Codehighlighter1_330_643_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_330_643_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_330_643_Closed_Text.style.display='none'; Codehighlighter1_330_643_Open_Image.style.display='inline'; Codehighlighter1_330_643_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;;)&nbsp;</span><span id=Codehighlighter1_330_643_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_330_643_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;malloc(size);<br></span><span style="COLOR: #008080">&nbsp;21</span><span style="COLOR: #000000"><img id=Codehighlighter1_373_445_Open_Image onclick="this.style.display='none'; Codehighlighter1_373_445_Open_Text.style.display='none'; Codehighlighter1_373_445_Closed_Image.style.display='inline'; Codehighlighter1_373_445_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_373_445_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_373_445_Closed_Text.style.display='none'; Codehighlighter1_373_445_Open_Image.style.display='inline'; Codehighlighter1_373_445_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(p)&nbsp;</span><span id=Codehighlighter1_373_445_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_373_445_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">allocate&nbsp;%p\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,p);<br></span><span style="COLOR: #008080">&nbsp;23</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;p;<br></span><span style="COLOR: #008080">&nbsp;24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::new_handler&nbsp;handler&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;std::set_new_handler(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::set_new_handler(handler);<br></span><span style="COLOR: #008080">&nbsp;27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(handler)<br></span><span style="COLOR: #008080">&nbsp;28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handler();<br></span><span style="COLOR: #008080">&nbsp;29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;std::bad_alloc();<br></span><span style="COLOR: #008080">&nbsp;31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;34</span><span style="COLOR: #000000"><img id=Codehighlighter1_675_728_Open_Image onclick="this.style.display='none'; Codehighlighter1_675_728_Open_Text.style.display='none'; Codehighlighter1_675_728_Closed_Image.style.display='inline'; Codehighlighter1_675_728_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_675_728_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_675_728_Closed_Text.style.display='none'; Codehighlighter1_675_728_Open_Image.style.display='inline'; Codehighlighter1_675_728_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;deallocate(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;ptr)&nbsp;</span><span id=Codehighlighter1_675_728_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_675_728_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">deallocate&nbsp;%p\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,ptr);<br></span><span style="COLOR: #008080">&nbsp;36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;free(ptr);<br></span><span style="COLOR: #008080">&nbsp;37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;39</span><span style="COLOR: #000000"><img id=Codehighlighter1_763_788_Open_Image onclick="this.style.display='none'; Codehighlighter1_763_788_Open_Text.style.display='none'; Codehighlighter1_763_788_Closed_Image.style.display='inline'; Codehighlighter1_763_788_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_763_788_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_763_788_Closed_Text.style.display='none'; Codehighlighter1_763_788_Open_Image.style.display='inline'; Codehighlighter1_763_788_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">(size_t&nbsp;size)&nbsp;</span><span id=Codehighlighter1_763_788_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_763_788_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;allocate(size);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;40</span><span style="COLOR: #000000"><img id=Codehighlighter1_824_849_Open_Image onclick="this.style.display='none'; Codehighlighter1_824_849_Open_Text.style.display='none'; Codehighlighter1_824_849_Closed_Image.style.display='inline'; Codehighlighter1_824_849_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_824_849_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_824_849_Closed_Text.style.display='none'; Codehighlighter1_824_849_Open_Image.style.display='inline'; Codehighlighter1_824_849_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">[](size_t&nbsp;size)&nbsp;</span><span id=Codehighlighter1_824_849_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_824_849_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;allocate(size);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;41</span><span style="COLOR: #000000"><img id=Codehighlighter1_883_902_Open_Image onclick="this.style.display='none'; Codehighlighter1_883_902_Open_Text.style.display='none'; Codehighlighter1_883_902_Closed_Image.style.display='inline'; Codehighlighter1_883_902_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_883_902_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_883_902_Closed_Text.style.display='none'; Codehighlighter1_883_902_Open_Image.style.display='inline'; Codehighlighter1_883_902_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;delete(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;ptr)&nbsp;</span><span id=Codehighlighter1_883_902_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_883_902_Open_Text><span style="COLOR: #000000">{&nbsp;deallocate(ptr);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;43</span><span style="COLOR: #000000"><img id=Codehighlighter1_913_1457_Open_Image onclick="this.style.display='none'; Codehighlighter1_913_1457_Open_Text.style.display='none'; Codehighlighter1_913_1457_Closed_Image.style.display='inline'; Codehighlighter1_913_1457_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_913_1457_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_913_1457_Closed_Text.style.display='none'; Codehighlighter1_913_1457_Open_Image.style.display='inline'; Codehighlighter1_913_1457_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;C&nbsp;</span><span id=Codehighlighter1_913_1457_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_913_1457_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;44</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;count;<br></span><span style="COLOR: #008080">&nbsp;45</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br></span><span style="COLOR: #008080">&nbsp;46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;fail;<br></span><span style="COLOR: #008080">&nbsp;47</span><span style="COLOR: #000000"><img id=Codehighlighter1_975_1075_Open_Image onclick="this.style.display='none'; Codehighlighter1_975_1075_Open_Text.style.display='none'; Codehighlighter1_975_1075_Closed_Image.style.display='inline'; Codehighlighter1_975_1075_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_975_1075_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_975_1075_Closed_Text.style.display='none'; Codehighlighter1_975_1075_Open_Image.style.display='inline'; Codehighlighter1_975_1075_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;C()&nbsp;</span><span id=Codehighlighter1_975_1075_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_975_1075_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(fail)<br></span><span style="COLOR: #008080">&nbsp;49</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;std::exception();<br></span><span style="COLOR: #008080">&nbsp;50</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C::C(),%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">count);<br></span><span style="COLOR: #008080">&nbsp;51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;52</span><span style="COLOR: #000000"><img id=Codehighlighter1_1086_1133_Open_Image onclick="this.style.display='none'; Codehighlighter1_1086_1133_Open_Text.style.display='none'; Codehighlighter1_1086_1133_Closed_Image.style.display='inline'; Codehighlighter1_1086_1133_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1086_1133_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1086_1133_Closed_Text.style.display='none'; Codehighlighter1_1086_1133_Open_Image.style.display='inline'; Codehighlighter1_1086_1133_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">C()&nbsp;</span><span id=Codehighlighter1_1086_1133_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1086_1133_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;53</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C::~C(),%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,count</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;55</span><span style="COLOR: #000000"><img id=Codehighlighter1_1152_1205_Open_Image onclick="this.style.display='none'; Codehighlighter1_1152_1205_Open_Text.style.display='none'; Codehighlighter1_1152_1205_Closed_Image.style.display='inline'; Codehighlighter1_1152_1205_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1152_1205_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1152_1205_Closed_Text.style.display='none'; Codehighlighter1_1152_1205_Open_Image.style.display='inline'; Codehighlighter1_1152_1205_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;C(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;C</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span id=Codehighlighter1_1152_1205_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1152_1205_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;56</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C::(const&nbsp;C&amp;),%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">count);<br></span><span style="COLOR: #008080">&nbsp;57</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;58</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;59</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">void*&nbsp;operator&nbsp;new(size_t,void*&nbsp;place)&nbsp;{&nbsp;return&nbsp;place;&nbsp;}</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;61</span><span style="COLOR: #008000"><img id=Codehighlighter1_1308_1333_Open_Image onclick="this.style.display='none'; Codehighlighter1_1308_1333_Open_Text.style.display='none'; Codehighlighter1_1308_1333_Closed_Image.style.display='inline'; Codehighlighter1_1308_1333_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1308_1333_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1308_1333_Closed_Text.style.display='none'; Codehighlighter1_1308_1333_Open_Image.style.display='inline'; Codehighlighter1_1308_1333_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">(size_t&nbsp;size)&nbsp;</span><span id=Codehighlighter1_1308_1333_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1308_1333_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;allocate(size);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;62</span><span style="COLOR: #000000"><img id=Codehighlighter1_1373_1398_Open_Image onclick="this.style.display='none'; Codehighlighter1_1373_1398_Open_Text.style.display='none'; Codehighlighter1_1373_1398_Closed_Image.style.display='inline'; Codehighlighter1_1373_1398_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1373_1398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1373_1398_Closed_Text.style.display='none'; Codehighlighter1_1373_1398_Open_Image.style.display='inline'; Codehighlighter1_1373_1398_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">[](size_t&nbsp;size)&nbsp;</span><span id=Codehighlighter1_1373_1398_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1373_1398_Open_Text><span style="COLOR: #000000">{&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;allocate(size);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;63</span><span style="COLOR: #000000"><img id=Codehighlighter1_1436_1455_Open_Image onclick="this.style.display='none'; Codehighlighter1_1436_1455_Open_Text.style.display='none'; Codehighlighter1_1436_1455_Closed_Image.style.display='inline'; Codehighlighter1_1436_1455_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1436_1455_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1436_1455_Closed_Text.style.display='none'; Codehighlighter1_1436_1455_Open_Image.style.display='inline'; Codehighlighter1_1436_1455_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;delete(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;ptr)&nbsp;</span><span id=Codehighlighter1_1436_1455_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1436_1455_Open_Text><span style="COLOR: #000000">{&nbsp;deallocate(ptr);&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;64</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;65</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;C::fail;<br></span><span style="COLOR: #008080">&nbsp;66</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;C::count;<br></span><span style="COLOR: #008080">&nbsp;67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;68</span><span style="COLOR: #000000"><img id=Codehighlighter1_1498_1671_Open_Image onclick="this.style.display='none'; Codehighlighter1_1498_1671_Open_Text.style.display='none'; Codehighlighter1_1498_1671_Closed_Image.style.display='inline'; Codehighlighter1_1498_1671_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1498_1671_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1498_1671_Closed_Text.style.display='none'; Codehighlighter1_1498_1671_Open_Image.style.display='inline'; Codehighlighter1_1498_1671_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;S&nbsp;</span><span id=Codehighlighter1_1498_1671_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1498_1671_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;fail;<br></span><span style="COLOR: #008080">&nbsp;70</span><span style="COLOR: #000000"><img id=Codehighlighter1_1530_1622_Open_Image onclick="this.style.display='none'; Codehighlighter1_1530_1622_Open_Text.style.display='none'; Codehighlighter1_1530_1622_Closed_Image.style.display='inline'; Codehighlighter1_1530_1622_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1530_1622_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1530_1622_Closed_Text.style.display='none'; Codehighlighter1_1530_1622_Open_Image.style.display='inline'; Codehighlighter1_1530_1622_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;S()&nbsp;</span><span id=Codehighlighter1_1530_1622_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1530_1622_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;71</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(fail)<br></span><span style="COLOR: #008080">&nbsp;72</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;std::exception();<br></span><span style="COLOR: #008080">&nbsp;73</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">construct\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;74</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;75</span><span style="COLOR: #000000"><img id=Codehighlighter1_1633_1669_Open_Image onclick="this.style.display='none'; Codehighlighter1_1633_1669_Open_Text.style.display='none'; Codehighlighter1_1633_1669_Closed_Image.style.display='inline'; Codehighlighter1_1633_1669_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1633_1669_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1633_1669_Closed_Text.style.display='none'; Codehighlighter1_1633_1669_Open_Image.style.display='inline'; Codehighlighter1_1633_1669_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">S()&nbsp;</span><span id=Codehighlighter1_1633_1669_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1633_1669_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;76</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">destroy\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">&nbsp;77</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;78</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;79</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;S::fail;<br></span><span style="COLOR: #008080">&nbsp;80</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;81</span><span style="COLOR: #000000"><img id=Codehighlighter1_1714_1814_Open_Image onclick="this.style.display='none'; Codehighlighter1_1714_1814_Open_Text.style.display='none'; Codehighlighter1_1714_1814_Closed_Image.style.display='inline'; Codehighlighter1_1714_1814_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1714_1814_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1714_1814_Closed_Text.style.display='none'; Codehighlighter1_1714_1814_Open_Image.style.display='inline'; Codehighlighter1_1714_1814_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;test_class(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dim)&nbsp;</span><span id=Codehighlighter1_1714_1814_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1714_1814_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;82</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(dim</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">&nbsp;83</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;84</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;C::fail&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dim</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;85</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;C</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;arr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;C[dim];<br></span><span style="COLOR: #008080">&nbsp;86</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;delete[]&nbsp;&nbsp;arr;<br></span><span style="COLOR: #008080">&nbsp;87</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;88</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;89</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;90</span><span style="COLOR: #000000"><img id=Codehighlighter1_1844_1943_Open_Image onclick="this.style.display='none'; Codehighlighter1_1844_1943_Open_Text.style.display='none'; Codehighlighter1_1844_1943_Closed_Image.style.display='inline'; Codehighlighter1_1844_1943_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1844_1943_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1844_1943_Closed_Text.style.display='none'; Codehighlighter1_1844_1943_Open_Image.style.display='inline'; Codehighlighter1_1844_1943_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;test_global(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dim)&nbsp;</span><span id=Codehighlighter1_1844_1943_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1844_1943_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;91</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(dim</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">&nbsp;92</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;93</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;S::fail&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dim</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;94</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;S</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;arr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;S[dim];<br></span><span style="COLOR: #008080">&nbsp;95</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;delete[]&nbsp;arr;<br></span><span style="COLOR: #008080">&nbsp;96</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;97</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;98</span><span style="COLOR: #000000"><img id=Codehighlighter1_1957_2398_Open_Image onclick="this.style.display='none'; Codehighlighter1_1957_2398_Open_Text.style.display='none'; Codehighlighter1_1957_2398_Closed_Image.style.display='inline'; Codehighlighter1_1957_2398_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1957_2398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1957_2398_Closed_Text.style.display='none'; Codehighlighter1_1957_2398_Open_Image.style.display='inline'; Codehighlighter1_1957_2398_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()&nbsp;</span><span id=Codehighlighter1_1957_2398_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_1957_2398_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;99</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br></span><span style="COLOR: #008080">100</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dim&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">101</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">input&nbsp;dim:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">dim)</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">input&nbsp;dim:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">))<br></span><span style="COLOR: #008080">102</span><span style="COLOR: #000000"><img id=Codehighlighter1_2079_2396_Open_Image onclick="this.style.display='none'; Codehighlighter1_2079_2396_Open_Text.style.display='none'; Codehighlighter1_2079_2396_Closed_Image.style.display='inline'; Codehighlighter1_2079_2396_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2079_2396_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2079_2396_Closed_Text.style.display='none'; Codehighlighter1_2079_2396_Open_Image.style.display='inline'; Codehighlighter1_2079_2396_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_2079_2396_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_2079_2396_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">103</span><span style="COLOR: #000000"><img id=Codehighlighter1_2093_2132_Open_Image onclick="this.style.display='none'; Codehighlighter1_2093_2132_Open_Text.style.display='none'; Codehighlighter1_2093_2132_Closed_Image.style.display='inline'; Codehighlighter1_2093_2132_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2093_2132_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2093_2132_Closed_Text.style.display='none'; Codehighlighter1_2093_2132_Open_Image.style.display='inline'; Codehighlighter1_2093_2132_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_2093_2132_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_2093_2132_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">104</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test_class(dim);<br></span><span style="COLOR: #008080">105</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">106</span><span style="COLOR: #000000"><img id=Codehighlighter1_2167_2234_Open_Image onclick="this.style.display='none'; Codehighlighter1_2167_2234_Open_Text.style.display='none'; Codehighlighter1_2167_2234_Closed_Image.style.display='inline'; Codehighlighter1_2167_2234_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2167_2234_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2167_2234_Closed_Text.style.display='none'; Codehighlighter1_2167_2234_Open_Image.style.display='inline'; Codehighlighter1_2167_2234_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(std::exception</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span id=Codehighlighter1_2167_2234_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_2167_2234_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">107</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;&nbsp;----&nbsp;catch&nbsp;an&nbsp;exception&nbsp;----\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">108</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">109</span><span style="COLOR: #000000"><img id=Codehighlighter1_2248_2288_Open_Image onclick="this.style.display='none'; Codehighlighter1_2248_2288_Open_Text.style.display='none'; Codehighlighter1_2248_2288_Closed_Image.style.display='inline'; Codehighlighter1_2248_2288_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2248_2288_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2248_2288_Closed_Text.style.display='none'; Codehighlighter1_2248_2288_Open_Image.style.display='inline'; Codehighlighter1_2248_2288_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_2248_2288_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_2248_2288_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">110</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test_global(dim);<br></span><span style="COLOR: #008080">111</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">112</span><span style="COLOR: #000000"><img id=Codehighlighter1_2323_2390_Open_Image onclick="this.style.display='none'; Codehighlighter1_2323_2390_Open_Text.style.display='none'; Codehighlighter1_2323_2390_Closed_Image.style.display='inline'; Codehighlighter1_2323_2390_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2323_2390_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2323_2390_Closed_Text.style.display='none'; Codehighlighter1_2323_2390_Open_Image.style.display='inline'; Codehighlighter1_2323_2390_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(std::exception</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span id=Codehighlighter1_2323_2390_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif"></span><span id=Codehighlighter1_2323_2390_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">113</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;&nbsp;----&nbsp;catch&nbsp;an&nbsp;exception&nbsp;----\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">114</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">115</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">116</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">117</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align=top></span></div>
</div>
</div>
<div>&nbsp;</div>
<div>有两个底层分配函数allocate和deallocate，它们使用malloc和free。</div>
<div>用这两个函数实现全局的3个op new,op new[], op delete，没有op delete[]</div>
<div>还用这两个函数实现了C的3个op new,op new[], op delete，同样没有op delete[]</div>
<div>用如下参数编译</div>
<div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">cl&nbsp;/EHsc&nbsp;/MD&nbsp;/analyze&nbsp;/W3</span></div>
</div>
<div>&nbsp;</div>
<div>你看看结果吧。</div>
<div>我用vc8、9测过（vc6不支持动态crt库，vc10我没装）。</div>
<div>反正两处delete[] arr;都没有调用 op delete。</div>
<div>它们调用那个全局的，没有被重写的op delete[]。</div>
<div>如果静态链接，该全局默认的op delete[]会被inline， 再调用该编译单元中定义的op delete。</div>
<div>如果动态链接，op delete[]不会被inline，会调用crt库中提供的op delete。</div>
<div>总之，这两处delete[] arr;都没有调用deallocate。</div>
<div>&nbsp;</div>
<div>当然， 你可以说你只静态链接到crt库。</div>
<div>也可以说你的allocate和deallocate底层实现<strong>绝对会一直保持与vc提供的crt兼容</strong>。</div>
<div>但是，你的代码的用户了解么？</div>
<div>难道你打算在文档中写&#8220;使用我的库的代码者，使用的crt库必须满足XXX要求，必须自己测试YYY&#8221;，只是为了你自己可以<strong>少写一个 op delete[]</strong>？</div>
<div>这不是程序库开发者的态度。</div>
<div>&nbsp;</div>
<div>还有两个小问题。</div>
<div>C* pc = static_cast&lt;C*&gt;(malloc(sizeof(*pc));</div>
<div>new (pc) C; // 编译错误</div>
<div>C* pc2 = new (std::nothrow) C; // 编译错误</div>
<div>&nbsp;</div>
<div>当然， 你还是可以说你绝对不会用这种东西， 你是实用主义嘛。</div>
<div>但是你的库的使用者呢？</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&#8220;出发点只是想找到一个经过验证的（大的、成功的产品使用过的）简便的工具&#8221;</div>
<div>你觉得这可以说明该产品中的每个细节都是无可挑剔的么？</div>
<div>越是大的产品，测试越不容易，更不容易暴露其中的问题，同时也许忽悠客户也更容易。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>确实没有任何事物都是完美的，但不能连追求完美的心都舍弃了。</div>
<div>同时，从实用角度出发，让该库变得更完美，所付出的代价非常小，&#8220;按规则&#8221;办事就可以了，10来行代码的事，何乐而不为？</div>
<div>规则可以见《EffCpp》或者《C++CodingStandard》。</div>
<img src ="http://www.cppblog.com/wlwlxj/aggbug/86723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">OwnWaterloo</a> 2009-06-04 10:32 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86723#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86724</link><dc:creator>OwnWaterloo</dc:creator><author>OwnWaterloo</author><pubDate>Thu, 04 Jun 2009 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86724</guid><description><![CDATA[sorry……  不小心提交了2次 ……<br>我自己删掉一个 ……<img src ="http://www.cppblog.com/wlwlxj/aggbug/86724.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">OwnWaterloo</a> 2009-06-04 10:32 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86724#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86714</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Wed, 03 Jun 2009 23:42:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86714</guid><description><![CDATA[感谢你的指导， 我没有说跨平台， 也没有说实用多个编译器，我一直使用VC系列工具在Windows上面写程序，其他的编译器和OS了解很少，对C++标准也研究不够，出发点只是想找到一个经过验证的（大的、成功的产品使用过的）简便的工具。 我想软件工具都不是完美的，考虑太多就没完没了了，我坚持实用原则。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-06-04 07:42 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/04/86660.html#86714#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86696</link><dc:creator>OwnWaterloo</dc:creator><author>OwnWaterloo</author><pubDate>Wed, 03 Jun 2009 13:30:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86696</guid><description><![CDATA[@万连文<br>某某牛库是哪个库？<br>其实跟有没有库这样做没关系，跟该库牛不牛也没什么关系。<br>不能跟着别人错。<br><br>底层实现是HeapXXX？<br>其实跟底层实现到底是什么没关系。<br>C++标准没要求底层实现怎么做， 但是要求重载operator new必须有其对应形式的operator delete重载。<br><br><br>跟测不测试也没关系。<br>一次不带TT不会怀上不等于次次都不会怀上。<br>一个编译器上测试成功，不等于每个编译器都能测试成功。<br>在某个编译器上能测试通过，并不能证明或证伪。<br><br><br>编写operator new/delete要遵守一些规范。<br>HeapAlloc能否处理 size=0？<br>HeapAlloc分配失败时的new_hanlder处理？<br>对其他形式new的隐藏？<br>&quot;重载&quot;（而不是覆盖全局标准）op new时，如果不提供相应形式的op delete，是否也能正确工作？<br>与其在不同平台，不同编译器，甚至是相同编译器的不同版本下进行测试，不如一开始就按照标准形式编写。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">OwnWaterloo</a> 2009-06-03 21:30 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86696#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86670</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Wed, 03 Jun 2009 09:33:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86670</guid><description><![CDATA[因为底层实现是Heap**操作，所以delete和delete[]都会调用HeapFree，所以恰好可以完成任务。<img src ="http://www.cppblog.com/wlwlxj/aggbug/86670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-06-03 17:33 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86670#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 技术回归01-Windows内存分配工具</title><link>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86663</link><dc:creator>OwnWaterloo</dc:creator><author>OwnWaterloo</author><pubDate>Wed, 03 Jun 2009 08:51:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86663</guid><description><![CDATA[operator delete[]呢？<img src ="http://www.cppblog.com/wlwlxj/aggbug/86663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">OwnWaterloo</a> 2009-06-03 16:51 <a href="http://www.cppblog.com/wlwlxj/archive/2009/06/03/86660.html#86663#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 甘特图1.0.0β发布</title><link>http://www.cppblog.com/wlwlxj/archive/2009/05/26/61230.html#85763</link><dc:creator>万连文</dc:creator><author>万连文</author><pubDate>Tue, 26 May 2009 00:31:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/05/26/61230.html#85763</guid><description><![CDATA[xgantt确实是这个行业的控件产品里面最优秀的，功能很强大，毋庸置疑。在性能上面我觉得自己还是有把握的，功能方面根据自己的经验慢慢优化结构增加功能点，应该会弥补差距。<img src ="http://www.cppblog.com/wlwlxj/aggbug/85763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">万连文</a> 2009-05-26 08:31 <a href="http://www.cppblog.com/wlwlxj/archive/2009/05/26/61230.html#85763#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 甘特图1.0.0β发布</title><link>http://www.cppblog.com/wlwlxj/archive/2009/05/25/61230.html#85736</link><dc:creator>茶韵云鹤</dc:creator><author>茶韵云鹤</author><pubDate>Mon, 25 May 2009 10:51:00 GMT</pubDate><guid>http://www.cppblog.com/wlwlxj/archive/2009/05/25/61230.html#85736</guid><description><![CDATA[我觉得看起来，还是xgantt好点吧，我们单位做排程的时候就了解过，xgantt在这方面还是比较强的，资料都是在<a target="_new" href="http://www.evget.com/zh-CN/Products/Search.aspx?keyword=XGantt这个上面找的">http://www.evget.com/zh-CN/Products/Search.aspx?keyword=XGantt这个上面找的</a>，我们领导看的眼睛都晕了，大家可以去看看，我们可以探讨一下呢<img src ="http://www.cppblog.com/wlwlxj/aggbug/85736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wlwlxj/" target="_blank">茶韵云鹤</a> 2009-05-25 18:51 <a href="http://www.cppblog.com/wlwlxj/archive/2009/05/25/61230.html#85736#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>