昨天有个朋友和我探讨了几个有关C++的问题,发现自己居然还能回忆起好多东西,只是不那么清晰罢了。尽管现在只是使用Object C++时和C++ 藕断丝连,但哪些曾经用过的C++ 类库可能只是曾经了。
ACE,只使用其基础设施和class wrapper就能开发出与C语言相当的系统应用,进而的Reactor和Proactor就是利器了。
C/C++的内存管理是个永恒的话题,如果没有特别的理由,应该在大型项目中使用自动内存管理工具。比较轻量级的是boost::smart_ptr 智能指针,重一些的实现了完整的GC机制是Hans-Boehm GC。
谁还记得基于corba的orbix呢? DCOM 或许还有些印象吧,C++/CLI 也支持.net framework 吧。 ICE 可能算是corba的改进版。
由于template技术的高级应用,C++也可以相对方便的应用于科学计算,MTL功能丰富,性能和成熟度都不错。 C语言的科学算法库也很多,如 GSL,Atlas,NR等。
Lua 作为配置脚本,嵌入到C/C++程序中,可以适应复杂的配置管理。
OpenSSL 应该说是业界的标杆了。
C++的xml 解析库较多,但好像都是C语言实现的,其中基于DOM的tinyxml,基于SOAP的xerxes。
正则表达式是编程中强有力的工具之一,C语言中有pcre,C++中boost 里的regex 库效率不错。
Qt 是一个比较完整的可移植应用程序框架,还包含了大量工具如正则,web和socket类,2D和3D,xml解析,SQL类等,跨平台GUI的成熟度非常高。主要特色是元对象模型,实现了signal/slot机制,实际上是C++的一个扩展。