您好,登錄后才能下訂單哦!
本篇內容主要講解“C++使用標準概念有什么優點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++使用標準概念有什么優點”吧!
T.11:只要可能就使用標準概念
"Standard" concepts (as provided by the GSL and the Ranges TS, and hopefully soon the ISO standard itself) save us the work of thinking up our own concepts, are better thought out than we can manage to do in a hurry, and improve interoperability.
“標準”的概念(由GSL或Range技術規格提供,很有可能很快ISO標準也會提供)可以節約我們設計自用概念的工作,而且標準概念會比我們匆忙之間設計的概念更好,也更具互換性。
Note(注意)
Unless you are creating a new generic library, most of the concepts you need will already be defined by the standard library
除非你在開發新的通用庫,大部分你需要的概念應該已經在標準庫中有定義而不需要另外設計。
Example (using TS concepts)(實例(使用TS概念))
template<typename T>
// don't define this: Sortable is in the GSL
concept Ordered_container = Sequence<T> && Random_access<Iterator<T>> && Ordered<Value_type<T>>;
void sort(Ordered_container& s);
This Ordered_container is quite plausible, but it is very similar to the Sortable concept in the GSL (and the Range TS). Is it better? Is it right? Does it accurately reflect the standard's requirements for sort? It is better and simpler just to use Sortable:
Ordered_container相當合理,但是它和GSL(和RangeTS)中的Sortable概念非常相似。這么做更好么?這么做正確么?它準確地反映了排序的標準需求么?直接使用Sortable的方式更簡單也更好。
void sort(Sortable& s); // better
The set of "standard" concepts is evolving as we approach an ISO standard including concepts.
在我們努力將概念引入ISO標準的過程中,這一套“標準”概念也在逐步發展。
Note(注意)
Designing a useful concept is challenging.
設計一個有用的概念是一種挑戰。
Enforcement(實施建議)
Hard.
很難
Look for unconstrained arguments, templates that use "unusual"/non-standard concepts, templates that use "homebrew" concepts without axioms.
尋找使用沒有約束的參數,使用“不一般的”/非標準概念的模板,使用沒有經過嚴密論證的自己定義的概念的模板。
Develop a concept-discovery tool (e.g., see an early experiment).
設計一個發現概念的工具
到此,相信大家對“C++使用標準概念有什么優點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。