C++14 進行中,來看目前的委員會草案吧~


去年 10 月的時候,C++ 這個程式語言的新一代標準 C++11 終於定案了!雖然目前應該是還沒有哪個編譯器真的完整支援,不過其中像是 autolambda expression 等功能,Heresy 現在也都用得很高興了~

而現在,下一代的 C++ 標準,也就是目前命名為 C++ 14 的委員會草案(Committee Draft)在前一陣子也已經出來了~目前相關的資料應該還不多,不過網路上還是可以看到相關的資料。首先,可以參考 isocpp.org 上的《Trip Report: ISO C++ Spring 2013 Meeting》這篇文章,而該網站部落格也有很多相關文章;另外在 Meeting C++ 上,也有一系列的文章,在討論 C++14 的東西、並整理了相關的 paper。

基本上,東西滿多的,Heresy 也沒有全部看完。其中比較吸引 Heresy 注意的,包括了:

  • 平行計算

    • [N3530] Leveraging OpenMP infrastructure for language level parallelisation
      提供語法層級的 OpenMP 平行化,可以透過 parallelfor() 這樣的函式、來將迴圈平行化。

    • [N3554] A Parallel Algorithms Library
      平行化演算法函式庫! 以後像是 std::sort() 這類現成的演算法,可以直接平性化來處理了~看起來甚至可能會有 GPGPU 的版本,可以直接用呢!

  • 向量化

    • [N3561] Semantics of Vector Loops
      提供 simd_for() 這類的函式,來讓迴圈可以透過 SIMD(維基百科)指令集加速。

    • [N3571] Add SIMD Computation to the Library
      提供高階的 SIMD 計算函式庫。

  • [N3559] Generic Lambda Expression。
    基本上是 C++11 Lambda expression 的延伸,讓 lambda expression 可以使用 auto 來當作參數型別,藉此來增加 lambda expression 的使用彈性。

  • [N3505] 基於 Boost FileSystem v3 的 File System,可以用來做基本的檔案、目錄的管理。

  • [N3527] 基於 Boost::Optional 的新類別,可以用來處理「可能沒有值」的狀態,個人覺得用在 return 的時候還滿實用的。(有點類似回傳的不是值,而是指標)

  • 網路相關

    • [N3555] URI Library

    • [N3565] IP Address Design Constraints / [N3603] – A Three-Class IP Address proposal

  • [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 的功能可以越來越完整吧~

廣告

對「C++14 進行中,來看目前的委員會草案吧~」的想法

  1. […] 之前在《C++14 進行中,來看目前的委員會草案吧~》一文中有提過了,在 C++14 這個尚未定案的 C++ 新標準裡、又針對了 C++ 的核心語言、以及標準函示庫(STL)做出了若干的改進。其中,Heresy 覺得相當重要的一部分,就是讓平行化程式開發更簡單的 STL 新函示庫、Parallel STL 了! […]

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s