去年 10 月的時候,C 這個程式語言的新一代標準 C 11 終於定案了!雖然目前應該是還沒有哪個編譯器真的完整支援,不過其中像是 auto 和 lambda expression 等功能,Heresy 現在也都用得很高興了~
而現在,下一代的 C 標準,也就是目前命名為 C 14 的委員會草案(Committee Draft)在前一陣子也已經出來了~目前相關的資料應該還不多,不過網路上還是可以看到相關的資料。首先,可以參考 isocpp.org 上的《Trip Report: ISO C Spring 2013 Meeting》這篇文章,而該網站部落格也有很多相關文章;另外在 Meeting C 上,也有一系列的文章,在討論 C 14 的東西、並整理了相關的 paper。
基本上,東西滿多的,Heresy 也沒有全部看完。其中比較吸引 Heresy 注意的,包括了:
-
平行計算
-
向量化
-
[N3559] Generic Lambda Expression。
基本上是 C 11 Lambda expression 的延伸,讓 lambda expression 可以使用 auto 來當作參數型別,藉此來增加 lambda expression 的使用彈性。 -
[N3505] 基於 Boost FileSystem v3 的 File System,可以用來做基本的檔案、目錄的管理。
-
[N3527] 基於 Boost::Optional 的新類別,可以用來處理「可能沒有值」的狀態,個人覺得用在 return 的時候還滿實用的。(有點類似回傳的不是值,而是指標)
-
網路相關
-
[N3572] Unicode Support in the Standard Library
-
[N3611] A Rational Number Library for C
-
[N3612] Desiderata of a C 11 Database Interface
當然,其他還有相當多的功能,應該也都是滿實用的,不過 Heresy 就不全列了(有的 Heresy 也看不懂)。
而實際上,雖然不確定最後 C 14 定案的時候,會剩下那些東西,不過可以看到在目前 C 14 的草案裡面,針對平行化/向量化計算,都有做出改進;而同時,針對網路部分,看來也有打算增加相關功能了~接下來,就希望 C 標準語法、STL 的功能可以越來越完整吧~