C++ 新標準 c++0x

記得 C++ 上一次訂標準是 1998 的事了呀!(雖然在 2003 年更新過)

雖然我是從 basic -> C 語言開始學習程式設計的,不過因為我大一時的程式設計老師是教授 C++,所以後來在大學的作業普遍是用 C++ (還有 Java)來完成的,以前很認真地 K 著 C++ Primer 這本經典的 C++ 語言書籍,但無論怎麼讀這本書,都還是覺得 C++ 實在是博大精深,不容易有「通透」的感覺,而且在 namespace, template, STL 等等特性之下,C++ 的程式碼更容易寫得十分複雜。而且後來學習了其它的程式語言(Java, Python 等),就覺得 C++ 真的好難寫啊 😛

後來陸陸續續看到了 Boost, TR-1 這類的東西讓 C++ 更好用,但都不比今天看到 C++ 新標準 c++0x 的消息更讓人振奮,目前算是進入了 feature freeze 的階段,接下來應該就會有規格書及 compiler 的支援了!

C++0x 算是把 C++ 作了很大的改造,詳細的介紹可以到 Wikipedia 上去看,我應該沒辦法一口氣在這篇文章裡逐一介紹完畢了 😛 不過我個人對於 transparent garbage collection 還沒有支援是覺得有點小失望,不過至少新標準有了其它的機制更容易來做 GC。另外比較吸引我的幾個新特色,像是可以寫

int array[5] = {1,2,3,4,5};
for (int& x:array) {
....
}

這樣的迴圈,或是對於 lambda functional 的支援等等都是蠻有趣的。希望新標準很快就進 gcc 之類的編譯器囉 😛