GCC4.3发布了,终于可以试试传说中的C++0x, 尽管只是部分。对于新的语言特性,也尝试着了解了一下。
1)改变最大的语言特性就是右值引用了。花了半天去搞清楚什么是右值引用,对于std::move和std::forward这两个函数也蒙了好长时间。觉得这个东西似乎对一般的开发者没什么用处,除非你要开发一个C++库。好象标准库的容器除了basic_string外,基本上都支持了这点。智能指针shared_ptr也支持了右值引用。为了提高效率,又增加了语言的复杂性,这大概就是c++的语言哲学吧。
2)可变参数模板。这个用来实现std::function,std::bind及std::tuple.
3)static_assert。这个自己实现一个也很容易。
4)decltype。就是以前的__typeof__。这次只不过是扶正了。
5)模板中>>可以连着写了。
6)函数模板也可以有缺省参数了。
7)。。。。
8)对于标准库的一些容器算法采用了并行处理。看来还是要尽可能多的使用标准库。
不过我编译了一个标准的HelloWorld(使用iostream),Debug 版本的可执行文件竟然为3.5M,幸好Release下还没有增加太多。