我听说过关于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