C++0x

来源:互联网 发布:数据结构 算法 严 编辑:程序博客网 时间:2024/04/23 23:02

最近,从全球最活跃的C++社区boost传来消息,新的C++标准:C++0x,最早将在2007年10月发布。很早就有人猜测,C++0x中的x到底是8还是9,不过现在看来很可能是7,但是也不尽然,因为上一个C++标准本来计划是1997年发布,但是因为STL的引入而推迟到1998年。这次又遇到了相同的情况,大家都不怀疑TR1和TR2(Technical Report)将成为新标准的一部分,但是随着越来越多的boost库被移到TR2中,TR2的进一个完善很可能拖新标准的后腿。不过,C++0x是C++的一次重大升级,恐怕编译器厂商最快也只能在2009年推出符合新标准的编译器。

新的C++标准将在几个方面对C++标准进行扩充:

1. 增强STL库,标准库TR1和TR2中的新组建,比如“正则表达式”;

2. 并发内存模型和并发库(面向多核处理器);

3. 垃圾收集器;

4. 可简化的泛型程序的开发;

从上一个标准C++98发布到现在,将近有10年的时间了,在这十年的时间里编程语言发生了翻天覆地的变化,首先是JAVA异军突起,然后是微软借助.NET平台的优势推出了C#,C++已经不再是编程语言中的明星了,它被挤下了神坛,慢慢沦为边缘编程语言。这中间的主要原因并不是C++的语法落伍了,而是使用C++开发软件效率低下并且容易出错。效率低下的原因是因为C++缺少库的支持,C++只提供了编程语言的基本功能,缺少强有力的库支持,比如字符串处理就一直是C++的诟病。容易出错的原因是C++从C继承了动态内存分配和指针,这一点被认为是软件发生错误的根源,虽然C++引入STL来解决这个问题,比如用vector代替内置数组可以防止内存泄漏,用迭代器代替直接下标操作可以防止地址越界。但是STL毕竟太简单了,比如字符串处理就只有一个简单的string,比起Perl差远了。C++唯一的优势就是速度,但是随着处理器和内存的快速发展也慢慢被遗忘了,所以就沦落到了现在的地步。

原创粉丝点击