GCC4.3發(fā)布了,終于可以試試傳說中的C++0x, 盡管只是部分。對(duì)于新的語言特性,也嘗試著了解了一下。
1)改變最大的語言特性就是右值引用了。花了半天去搞清楚什么是右值引用,對(duì)于std::move和std::forward這兩個(gè)函數(shù)也蒙了好長(zhǎng)時(shí)間。覺得這個(gè)東西似乎對(duì)一般的開發(fā)者沒什么用處,除非你要開發(fā)一個(gè)C++庫。好象標(biāo)準(zhǔn)庫的容器除了basic_string外,基本上都支持了這點(diǎn)。智能指針shared_ptr也支持了右值引用。為了提高效率,又增加了語言的復(fù)雜性,這大概就是c++的語言哲學(xué)吧。
2)可變參數(shù)模板。這個(gè)用來實(shí)現(xiàn)std::function,std::bind及std::tuple.
3)static_assert。這個(gè)自己實(shí)現(xiàn)一個(gè)也很容易。
4)decltype。就是以前的__typeof__。這次只不過是扶正了。
5)模板中>>可以連著寫了。
6)函數(shù)模板也可以有缺省參數(shù)了。
7)。。。。
8)對(duì)于標(biāo)準(zhǔn)庫的一些容器算法采用了并行處理。看來還是要盡可能多的使用標(biāo)準(zhǔn)庫。
不過我編譯了一個(gè)標(biāo)準(zhǔn)的HelloWorld(使用iostream),Debug 版本的可執(zhí)行文件竟然為3.5M,幸好Release下還沒有增加太多。