3 ms·
Concepts removed from C++0x
Concepts, which were probably the marquee feature of the new C++ standard, have been dropped following a vote by the standards committee.
- russell 17y agoI would love to know what "concepts" are. It appears that they would complicate C++ for some gain in type safety. I found this http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2906.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n290..., but I fear that understanding will take more time than I have this morning. (I've been away from C++ for most of this century. :-)
- jknupp 17y agoWikipedia has a pretty thorough and accessible description (http://en.wikipedia.org/wiki/C%2B%2B0x#Concepts http://en.wikipedia.org/wiki/C%2B%2B0x#Concepts). Briefly, "Concepts provide a mechanism for codifying the interface that a template parameter must meet". For example, a container class in the STL may require that the contained type be less-than comparable. Concepts would provide a way to express this restriction in a way that makes compiler error messages more understandable. As one would expect, a type may include a "requirements list" composed of orthogonal concepts (e.g. a class must be less-than comparable AND copyable). For more advanced uses, see the Wikipedia article or Bjarne's latest proposal. Additionally, a number of proposed additions to the standard relied on concepts being included. These will need to be either reworked or dropped as well.