金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  55 随笔 :: 0 文章 :: 150 评论 :: 0 Trackbacks

1. C/C++

     摘要: 用CodeBlocks编译一个wxWidgets应用程序时,总是出现"undefined reference"。这里有两个问题,一是需要添加wxWidgets相关的库,二是这些库要按一定的顺序列出。  阅读全文
posted @ 2008-05-15 14:13 金庆 阅读(602) | 评论 (1)  编辑

     摘要: 在设计时发现错误总比在编码编译时发现好。在编码编译时发现错误总比在单元测试中发现好。在单元测试中发现错误总比在调试中发现好。在调试中发现错误总比在系统测试中发现好。在系统测试中发现错误总比让用户发现好。让用户发现错误总比没有用户好。  阅读全文
posted @ 2008-05-08 15:38 金庆 阅读(54) | 评论 (0)  编辑

     摘要: 在迭代器中支持指针成员选取运算符,没什么实质的意义,而仅仅是语法糖。我认为标准中将这规定为迭代器概念的一个特性是严重的错误。  阅读全文
posted @ 2008-04-24 10:16 金庆 阅读(1330) | 评论 (3)  编辑

     摘要: C++标准库提供了四种序列容器:deque、list、vector,和basic_string。第四种序列容器basic_string,主要用于表示字符串,但它确实是不折不扣的序列容器,所以如果你非要这样做的话,你也可以用它来保存char和wchar_t以外的数据。在标准库中的容器中,只有vector保证其元素的存储空间是连续的。因此,它和C API兼容。
  阅读全文
posted @ 2008-04-23 15:36 金庆 阅读(1215) | 评论 (2)  编辑

     摘要: 在C++的世界里,STL这个术语是有歧义的。有很多C++纯化论者会抓住一切机会纠正你对"STL"这个术语的错用,而告诉你应该使用"标准库"这样的称呼。 严格来说,STL指的是由Stepanov和他的同事们在上世纪80年代到90年代开发的、基于六个核心概念的通用模板库。  阅读全文
posted @ 2008-04-22 17:25 金庆 阅读(1437) | 评论 (1)  编辑

     摘要: 模板参数一般是一个或者两个大写字母,例如T(type/value-type)、S(sequence/string)、 C(container/character)、VP(value policy type)等等。 这样做有两个原因。  阅读全文
posted @ 2008-04-21 17:25 金庆 阅读(1208) | 评论 (10)  编辑

     摘要: POD(Plain Old Data,普通旧式数据)的定义中,有三个相关的术语  阅读全文
posted @ 2008-04-01 10:03 金庆 阅读(732) | 评论 (0)  编辑

     摘要: 每次用bjam编译boost总是要查看帮助文件才行。
虽然现在的bjam编译命令只有两三个参数,可是不小心还是会错。
  阅读全文
posted @ 2008-03-17 17:21 金庆 阅读(1110) | 评论 (2)  编辑

     摘要: boost.asio库明确说明不支持VC6。 stlsoft库某些组件无法兼容VC6(详细阅读了《Extended STL》,才知道为了VC6要耗费大量的精力,有些组件本身已很复杂,以至于需要排除VC6才能实现。) 今天使用boost.date_time时又发现VC6不行了。  阅读全文
posted @ 2008-03-14 15:58 金庆 阅读(2046) | 评论 (16)  编辑

     摘要: 不过一直有个问题,就是写ini文件时断电的后果。前几天终于遇上了,断电后发现配置文件正好被清空了。结果程序因为缺乏必要的配置,根本无法运行。  阅读全文
posted @ 2008-01-29 12:16 金庆 阅读(1104) | 评论 (8)  编辑

     摘要: 使用Boost.Python不需要“安装Boost”。这里的教程利用了 Boost.Build 项目,它会在需要时自动构建那些二进制库。当然,也可以使用其他的编译系统。所有“我无法编译Boost.Python”的问题, 99%以上是因为试图使用另一种编译系统,而没有先按这个教程做。  阅读全文
posted @ 2008-01-17 15:14 金庆 阅读(984) | 评论 (0)  编辑

     摘要: 用bjam在各种环境下编译Boost , 没有十次也有八次了,但是前两天在一台XP上编译时,竟然失败。 查看输出,竟然是在创建目录时失败。信息如下:  阅读全文
posted @ 2008-01-11 09:38 金庆 阅读(869) | 评论 (1)  编辑

     摘要: 以下代码来自《Imperfect C++》,输出是0, 2222还是0, 0?  阅读全文
posted @ 2008-01-10 11:36 金庆 阅读(520) | 评论 (7)  编辑

     摘要: 对于一个数组ar,求其最外层的维数。 C语言当中惯用的是 sizeof(ar) / sizeof(ar[0]),可是在stlsoft库中是 sizeof(ar) / sizeof(0[ar])。 以前从没见过数组元素引用使用这样的形式:0[ar],能行吗?但是为什么用0[ar]呢?生僻的用法降低了可读性。是不是有什么优点呢?都是编译期计算,应该没有性能上的差别。  阅读全文
posted @ 2008-01-02 11:27 金庆 阅读(1365) | 评论 (3)  编辑

     摘要: 试运行asio的async_client例程时,发现CPU占用很高,所以又写了一个相同功能但直接调用完成端口API的代码,进行比较,发现同样占用CPU。  阅读全文
posted @ 2007-12-24 16:25 金庆 阅读(920) | 评论 (0)  编辑

Full 1. C/C++ Archive