我聽說過關於C++ 0x的所有新的(on /。),沒有概念了,但我不知道它們是什麼?有人可以向我解釋嗎?什麼是概念?
Q
什麼是概念?
22
A
回答
25
概念是一個通用的編程功能,它允許某人寫模板代碼來指定哪些類型的參數需要滿足的要求。
例如,某些集合類型需要集合的類型參數來定義<運算符。所以程序員可能會定義一個名爲LessThanComparable的概念,它告訴編譯器模板類的類型參數需要定義運算符<。如果模板用戶然後嘗試使用不具有LessThanComparable概念的類型實例化模板(即,沒有運算符<函數),則編譯器可以發出簡單的錯誤消息,而不是與模板化代碼關聯的錯誤消息的洪流。編譯器也可以利用概念提供的額外信息來生成更高效的代碼。
這是一些過於簡單的事,但我認爲它給了你概念背後的總體思路。
如果您想嘗試一些概念功能,請查看Boost.Concept Check庫。我不認爲它提供了標準中的全部功能,但它是一個很好的開始。
您可能還想看看ConceptC++,這裏有一個很好的概念定義。
10
這裏是我認爲將有助於一篇文章:
http://www.devx.com/SpecialReports/Article/38864
在SO以及在這裏刪除它們已經被多次討論過這個決定。這些可能證明有趣:
相關問題
- 1. ANCS:PositiveAction的概念是什麼?
- 2. 什麼是冒泡概念?
- 3. Git的概念框架是什麼?
- 4. 什麼是功能和概念規範?
- 5. Tuple2的概念性目的是什麼?
- 6. Chain Complete的概念是什麼?
- 7. Kotlin意圖的概念是什麼?
- 8. 什麼是主循環抽象概念?
- 9. 什麼是HATEOAS的實際概念?
- 10. 什麼是C++運行時概念?
- 11. YouTrack中的swimlane概念是什麼?
- 12. .NET中Assembly的概念是什麼?
- 13. orientdb的強制性概念是什麼?
- 14. java iterator背後的概念是什麼?
- 15. HEAD,master,origin的git概念是什麼?
- 16. INotifyPropertyChanged背後的概念是什麼?
- 17. 什麼是重入鎖和概念?
- 18. 這個概念叫什麼?
- 19. 編程中「上下文」概念背後的一般概念是什麼?
- 20. 爲什麼要使用OOP概念? OOP的用法是什麼?
- 21. CNTKTextFormatDeserializer的概念是什麼以及爲什麼使用?
- 22. 這個OOP概念叫什麼?
- 23. 我的java概念有什麼問題?
- 24. Velocity有什麼先進的概念?
- 25. 概念性問題:performSelectorOnMainThread做什麼?
- 26. Subversion中的Head的概念是什麼以及Trunk的區別是什麼
- 27. 概念
- 28. 概念
- 29. 概念
- 30. MVC實現概念(概念(ABAP SAP)
呵呵,這幾乎就是EBGreen的鏈接所說的!奇怪的巧合,嗯? – jkeys 2009-08-10 02:07:56
不是。我在近一年前第一次發表該文章時閱讀了這篇文章。我確實有能力保留信息:-) – Ferruccio 2009-08-10 11:23:48
很好的答案。這是我不敢問的關於C++的問題之一 – chester89 2009-08-10 14:44:43