91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++怎么為模板參數定義概念

發布時間:2021-11-24 11:23:22 來源:億速云 閱讀:162 作者:iii 欄目:大數據

這篇文章主要講解了“C++怎么為模板參數定義概念”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++怎么為模板參數定義概念”吧!

T.10:為所有的模板參數定義概念

Reason(原因)

Correctness and readability. The assumed meaning (syntax and semantics) of a template argument is fundamental to the interface of a template. A concept dramatically improves documentation and error handling for the template. Specifying concepts for template arguments is a powerful design tool.

正確性和可讀性。一個模板參數的假定含義(語法和語義)是模板接口的基礎。概念大幅度改善了模板的文檔化和錯誤處理。為模板參數定義概念是一個強有力的設計工具。

Example(實例)

template<typename Iter, typename Val>
//    requires Input_iterator<Iter>
//             && Equality_comparable<Value_type<Iter>, Val>
Iter find(Iter b, Iter e, Val v)
{
   // ...
}

or equivalently and more succinctly:

或者使用下面功能等價但更簡潔的方式:

template<Input_iterator Iter, typename Val>
//    requires Equality_comparable<Value_type<Iter>, Val>
Iter find(Iter b, Iter e, Val v)
{
   // ...
}
Note(注意)

"Concepts" are defined in an ISO Technical Specification: concepts. A draft of a set of standard-library concepts can be found in another ISO TS: ranges Concepts are supported in GCC 6.1 and later. Consequently, we comment out uses of concepts in examples; that is, we use them as formalized comments only. If you use GCC 6.1 or later, you can uncomment them:

“概念”被ISO技術規格:concepts定義。一套標準庫concepts的初步版本可以在另一個ISO技術規格:ranges中找到。GCC6.1以后都支持concepts。因此我們在實例代碼中注釋掉使用concepts的部分;也就是說我們只是將它們用作標準的注釋。如果你使用GCC6.1之后的版本,可以打開注釋。

template<typename Iter, typename Val>

    requires Input_iterator<Iter>
          && Equality_comparable<Value_type<Iter>, Val>
Iter find(Iter b, Iter e, Val v)
{
   // ...
}
Note(注意)

Plain typename (or auto) is the least constraining concept. It should be used only rarely when nothing more than "it's a type" can be assumed. This is typically only needed when (as part of template metaprogramming code) we manipulate pure expression trees, postponing type checking.

直接的類型名(或auto)是最小約束的概念。它應該被極少使用,僅限于表現“它是一個類型”。這通常只在我們操作純表達式樹,延遲類型檢查時有(作為模板元編程的一部分)存在的必要。

感謝各位的閱讀,以上就是“C++怎么為模板參數定義概念”的內容了,經過本文的學習后,相信大家對C++怎么為模板參數定義概念這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

乌恰县| 射洪县| 延吉市| 改则县| 安宁市| 高雄市| 象州县| 若尔盖县| 延津县| 郸城县| 云霄县| 开化县| 克拉玛依市| 玉龙| 射洪县| 宜兰县| 马鞍山市| 河西区| 株洲县| 城步| 集安市| 祁连县| 固阳县| 建宁县| 三穗县| 彩票| 宁蒗| 沽源县| 逊克县| 武宁县| 饶河县| 西丰县| 辛集市| 淮北市| 大名县| 天水市| 湟中县| 沾化县| 本溪市| 洱源县| 海伦市|