Bugset
plusKid
这个作者很懒,什么都没留下…
展开
-
全局初始化
这次和同学一起做 C++ 课的 project ,我们分成几个层次在做,我做的比较底层的东西。后来我发现在底层库可用之前我需要做一些全局的初始化。以前做 C 的 project 的时候是使用了一个 init() 函数,要求在使用之前必须调用。不过现在在 C++ 里面有构造函数可以用。于是我可以完全向上一层隐藏这个细节了。要做的就是定义一个具有私有构造函数的类,然后定义一个 const 的私有静态实原创 2007-05-20 06:39:00 · 616 阅读 · 0 评论 -
引用已经析构了的局部变量
在平常的编程里面,这样的代码算是再普通不过了:void func(){ SomeType local_obj; another_func(local_obj); // ...}然而最近我却遇到了问题。在使用 boost::asio 的时候,使用了这种常规的做法。结果遭遇段错误。后来才意识到是在进行异步调用。 another_func 拿着 local_obj (事...2007-05-21 08:42:51 · 150 阅读 · 0 评论 -
Typical Chinese Programmer
FatMouse 在 Java 课上介绍了 Typical Chinese Programmer 的概念。我不知道这个名词从何而来,在 Google 上似乎也没有找到有用的信息。不过 FatMouse 说 Typical Chinese Programmer 是这样的一类人,他们想当然地写程序:比如,他们做出来的界面上有一堆按钮,他们假定用户会先点击“按钮一”,再点击“按钮二”然后是“按钮三”...2007-06-01 05:12:04 · 167 阅读 · 0 评论 -
Do write portable code
最近遇到两个 bug ,都是因为代码写得不具有可移植性而造成的。Javascript 本身就由于浏览器的差异有许多需要注意的地方,写代码的时候一定要万分小心,多多测试。数组常量值末尾多余的逗号Javascript 里面用类似 [1,2,3] 的方法来初始化数组是众所周知的。但是有一个地方却比较容易犯错误。特别是对于熟悉 C 语言的人来说,C 语言里面明确说明,以下这种情况里面,多余的逗号是可以...2007-09-04 05:50:41 · 198 阅读 · 0 评论