惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
C
Check Point Blog
D
Docker
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
量子位
有赞技术团队
有赞技术团队
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
M
MIT News - Artificial intelligence
B
Blog
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
月光博客
月光博客

博客园 - sunwaywei

被MM当成电脑白痴了 用Delphi编写的一个上网助手 Excel 2007的日期格式设置 使用C++绘制算法弥补.net图形绘制缺陷 使用UpdatePanel控件要注意的一个问题 Chuck Jazdzewski 对新手程序员的建议 打赢了一场效率仗 一个极有可能引发ExecutionEngineException的情况 竟然是灰鸽子? They're Back!!! Turbo系列产品的回归! 不小心染上了Bloodhound.NsAnti .net 2.0 的 Bug?--与 COM 交互时发生奇怪的 InvalidCastException 第三届虚拟现实峰会 忙碌的这几天 ASP.NET 2.0 中使用自定义缓存依赖 在 .net 2.0 中使用自定义事务操作 郁闷的端午节 奇怪的C++问题 CAD二次开发中遇到一个无法解决的问题
为了一个 const 折腾了半天
sunwaywei · 2006-05-23 · via 博客园 - sunwaywei

  这两天在忙着设计一个 Factory 算法,代码都写好了,却因为一个莫名其妙的 const 修饰符,折腾了好久,实是郁闷。

  这个 Factory 是一个属性工厂。使用的享元模式,同一个属性可以被许多对象共享。每一个对象向工厂请求属性的时候,工厂会看一下当前是否已经有相同的属性,有的话把它返回给对象供使用,没有的话创建一个。办法是很简单的,不料我在写这个函数的时候,鬼使神差地在函数末尾加上了 const 修饰符,终于导致了数个小时的白忙活。因为这个算法显然是要改动类数据的,加上 const 之后,向属性工厂中的 map 添加数据时自然通不过编译。可笑的是我竟然很长时间没发现这个低级错误,把一个算法翻来覆去地修改,无意中打开类声明,才发现居然误写了个 const,真是啼笑皆非。将之一去除,当即豁然贯通。

  编写代码就是怕遇上这类事故。不过总而言之,还是编码和排错的功力不够。嗯,需要重新审视一下自己了。