为了向你说明问题,我可以简单的罗列一些现代C++库已经具备的一些能力:
※ 可以通过使用auto_ptr,smart pointer杜绝资源(不光是内存)泄漏问题。
※ 可以用一行代码生成固定大小的数组、动态数组、堆栈、队列、双段队列、
优先队列、堆、集合、有序映射表、无序映射表和图。
※ 可以使用同样的代码访问各种不同的容器。
※ 有一个设计得非常出色得string,而且可以轻易支持国际化。
※ C++ IO流类库可以抽象所有的数据输入输出模型,而且其设计极为精巧,只要
自己动手写一个stream_buf类,就可以用同样代码对各种数据流实施透明访问。
同样的功能,在Java中你得记住十几个类之间的相互关系才能做到。
※ 使用Blitz++, C++高速数值计算能力已经超越Fortran。
※ 并行数值计算能力无疑伦比,这点在POOMA、Blitz和MTL库中得到体现。
※ 基于TAO/ACE的C++网络层提供了非常出色的网络计算环境和CORBA实现。
※ 有一个基于template的可移植高效线程库(刚刚出现,还需要完善)。
※ 有及其强大的正则表达式功能,非常容易使用,而且效率非常高。
※ 可以完全精致地控制内存地使用,轻松的建立自己地内存池。
※ CRC冗余校验
※ 数据压缩存取
※ 将若干异质对象看作一个值(类似Python中的元组)