﻿<?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++博客-K.V的世界无限大-最新评论</title><link>http://www.cppblog.com/KaleoVon/CommentsRSS.aspx</link><description>起舞弄清影</description><language>zh-cn</language><pubDate>Thu, 22 Sep 2011 15:22:30 GMT</pubDate><lastBuildDate>Thu, 22 Sep 2011 15:22:30 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153703</link><dc:creator>路过</dc:creator><author>路过</author><pubDate>Wed, 17 Aug 2011 19:01:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153703</guid><description><![CDATA[其实C#中的nullable type似乎就是对应这种情况<img src ="http://www.cppblog.com/KaleoVon/aggbug/153703.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">路过</a> 2011-08-18 03:01 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153703#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153702</link><dc:creator>路过</dc:creator><author>路过</author><pubDate>Wed, 17 Aug 2011 19:00:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153702</guid><description><![CDATA[看看boost::optional<img src ="http://www.cppblog.com/KaleoVon/aggbug/153702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">路过</a> 2011-08-18 03:00 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/18/153595.html#153702#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨[未登录]</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153685</link><dc:creator>Chipset</dc:creator><author>Chipset</author><pubDate>Wed, 17 Aug 2011 11:47:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153685</guid><description><![CDATA[我所说的静态默认值或一个有特殊意义的静态对象就是一个设计者自己清楚的但是很少用到的值，对于你的这段代码应该是个不可能用到的Layer。检查一下返回的这个值就知道出错了。跟返回一个空指针0表示处理失败一个道理。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">Chipset</a> 2011-08-17 19:47 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153685#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153684</link><dc:creator>K.V</dc:creator><author>K.V</author><pubDate>Wed, 17 Aug 2011 10:19:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153684</guid><description><![CDATA[@杨粼波<br>有道理，但尺度的把握却挺难的。话说我在一个刚加的群里看到你了。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">K.V</a> 2011-08-17 18:19 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153684#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨[未登录]</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153680</link><dc:creator>杨粼波</dc:creator><author>杨粼波</author><pubDate>Wed, 17 Aug 2011 08:59:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153680</guid><description><![CDATA[Null Object在行为上是：do nothing。<br>在实际应用的场景下，可以有效的解决返回引用为空的情况。当然，他的应用不仅仅是这个场景。<br><br>如果是方法中存在错误，那就使用断言或者异常，然后返回NULL。如果方法是正常返回NULL，自然是不需要进行错误的反应的。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">杨粼波</a> 2011-08-17 16:59 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153680#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153679</link><dc:creator>K.V</dc:creator><author>K.V</author><pubDate>Wed, 17 Aug 2011 08:43:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153679</guid><description><![CDATA[@陈梓瀚(vczh)<br>或许诸位仁兄说得对，某些情况下，刻意弥补修正一个例外，可能恰恰是把问题隐藏了。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">K.V</a> 2011-08-17 16:43 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153679#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153676</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Wed, 17 Aug 2011 08:33:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153676</guid><description><![CDATA[返回const X&amp;代表返回至一定存在，所以倘若无法范围，应该抛异常，不要做这种邪道。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">陈梓瀚(vczh)</a> 2011-08-17 16:33 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153676#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153640</link><dc:creator>K.V</dc:creator><author>K.V</author><pubDate>Wed, 17 Aug 2011 03:15:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153640</guid><description><![CDATA[@Chipset<br>我的例子没有举好，现在这个例子layerIndex确实应该有效，但如果：<br>某个Manager存了一系列以id为键值的layer，需要根据id查找相应的layer，此时查不到也是正常的。<br>是不是你说的后一种处理方式呢？但返回的这个特殊意义对象真得很难办。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">K.V</a> 2011-08-17 11:15 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153640#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨[未登录]</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153627</link><dc:creator>Chipset</dc:creator><author>Chipset</author><pubDate>Wed, 17 Aug 2011 00:47:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153627</guid><description><![CDATA[首先，下标不能越界，如果调这个函数时才发现，那时先前程序处理的失败，应该在先前就发现并处理。也就是说，就应该这样：<br>const Layer&amp; Frame::GetLayer(uint32 layerIndex) const<br>{<br>    return m_layers[layerIndex];<br>}<br><br>如果一定走到这步才检查(这是不好的设计)，可以抛出异常，如果不允许用异常处理(某些嵌入式的规定，目的是防止二进制代码体积太大)，可以返回缺省的静态变量或常量，整个类有一个这样的缺省静态变量或常量公用就可以了。多数情况下这个缺省的静态变量或常量是默认值或一个有特殊意义的值或对象。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">Chipset</a> 2011-08-17 08:47 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153627#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 空对象模式---函数需要返回一个无意义的对象或者对象引用的探讨</title><link>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153625</link><dc:creator>双杯献酒</dc:creator><author>双杯献酒</author><pubDate>Tue, 16 Aug 2011 23:21:00 GMT</pubDate><guid>http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153625</guid><description><![CDATA[抛出异常。<br>是正解。<img src ="http://www.cppblog.com/KaleoVon/aggbug/153625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/KaleoVon/" target="_blank">双杯献酒</a> 2011-08-17 07:21 <a href="http://www.cppblog.com/KaleoVon/archive/2011/08/17/153595.html#153625#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>