C 20 模式下將啟用協程支援 CC 11

2021-10-06 08:42:07 字數 524 閱讀 4418

gcc 10 在 c++20 模式(std=c++20) 中執行時,預設情況下會啟用 c++ 協程。而將於明年發布的 gcc 11 在 c++20 推出時將具有協程功能,到那時,gnu 編譯器集合中支援 c++20 的剩餘部分也應該會被解決

協程(coroutines)是 c++20 的主要功能之一,它允許某個函式在暫停執行之後再恢復。有關 c++ 協程的示例語法和更多詳細資訊請在 cppreference.com 上檢視。可以看到,官方對協程的定義是

與 concepts, modules, spaceship operator 和記憶體模型改進等一起共同構成 c++20 的主要特性。

c++20 標準在今年年初確定了技術規範後,將於近期正式發布。gcc 10 已經配備了 c++20 的大部分內容,而對於 gcc 11 來說,其餘的專案很有可能將會被解決,包括像上週看到的為 std=c++20 啟用協程的更改。

在 c++ 標準的狀態頁面上,仍有面向 gcc 的 c++20 功能處於開發階段。如果想知道 llvm clang 上的 c++20 狀態,可檢視此頁面。

C 2 0 新增功能

泛型 該語言中新增了一些泛型型別,使得程式設計師能夠實現程度很高的 重用,獲得更高的集合類效能。泛型型別只存在 arity 上的不同。也可以將引數強制為特定的型別。有關更多資訊,請參見泛型型別引數。迭代器 迭代器使得規定 foreach 迴圈將如何迴圈訪問集合的內容變得更加容易。分部類 分部型別定義...

C 2 0 匿名委託

delegate經常被人用來與 相比較,其實兩者在某種程度上由很多共同點。不過delegate有很多更加強大的地方。首先,delegate中可以註冊任意多個 在乙個delegate被呼叫的時候,已經註冊的過程將會被逐個呼叫。其次,delegate允許註冊乙個物件的方法,而不像c 中指可以使用靜態方法...

C 20模組介紹

visual studio 2019 v16.8終於支援了c 20模組,有了模組,我們就可以充分結合c 模板的強大特性與物件導向的封裝思想,寫出更易於維護的規模較大的軟體了。visual c 目前已經實現了c 20模組的幾乎所有內容,也初步加入了工程配置和智慧型提示支援,但截至發文16.8pre6版...