您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++使用模式術語定義方法是什么”,在日常操作中,相信很多人在C++使用模式術語定義方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++使用模式術語定義方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
T.26:相比簡單的語法,根據使用模式術語定義概念更好
The definition is more readable and corresponds directly to what a user has to write. Conversions are taken into account. You don't have to remember the names of all the type traits.
這種定義方式更具可讀性,和用戶必須寫的內容直接對應。轉換也考慮在內。你不必記住所有類型的特征。
Example (using TS concepts)(示例(使用TS概念))
You might be tempted to define a concept Equality like this:
你可能試圖像這樣定義Equality概念:
template<typename T> concept Equality = has_equal<T> && has_not_equal<T>;
Obviously, it would be better and easier just to use the standard EqualityComparable, but - just as an example - if you had to define such a concept, prefer:
顯然,只是使用標準的EqualityComparable會更好,也更容易,但是只是一個例子,如果你必須定義這樣的概念,這樣更好:
template<typename T> concept Equality = requires(T a, T b) {
bool == { a == b }
bool == { a != b }
// axiom { !(a == b) == (a != b) }
// axiom { a = b; => a == b } // => means "implies"
}
as opposed to defining two meaningless concepts has_equal and has_not_equal just as helpers in the definition of Equality. By "meaningless" we mean that we cannot specify the semantics of has_equal in isolation.
而不是只為了輔助定義Equality而定義無意義的has_equal和has_not_equal概念。通過“無意義”這個詞,我們想表達的是我們無法獨立地定義has_equal的語義。
到此,關于“C++使用模式術語定義方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。