Рассказ про новую фичу, которая будет в C++0x - концепции.
По ссылке с Deepen C++.
Updated 15.11.2008:
Поскольку далеко не все захотели смотреть видео на час, хорошо бы привести описание концепций. Свое мне писать лень, в комментариях Cheremukhin привел ссылку на хорошее описание.
Короче говоря, это требования к обобщаемому типу, невыполнение которых может привести к ошибке инстанцирования шаблона. На данный момент такие требования повсеместно встречаются в документации(IS, boost docs, etc). Теперь эти требования можно будет выражать в коде.
Там чуть вниз надо отмотать до раздела Concepts.
среда, ноября 12, 2008
Видео Concepts: Extending C++ Templates For Generic Programming
Подписаться на:
Комментарии к сообщению (Atom)
8 коммент.:
Было бы куда полезней, если бы вы описали парой абзацев суть видео, видео на час - это серьезно.
+1
Очень не хочу смотреть все видео, чтобы понять, правильно ли я думаю, что это Java'вские (и Делфийские) интерфейсы, и чем оно от них отличается.
Java-интерфейсы это тупо классы, состоящие полностью из pure virtual функций. Концепция - это описание требований к типу, от нее не наследуются.
Вот
http://forum.sources.ru/index.php?showtopic=190375
Раздел concept
для полноты картины
http://en.wikipedia.org/wiki/C++0x#Concepts
Пара ссылок от Dragon'а
Для тех кто не хочет случашать, а быстро просмотреть. Вот она в PDF'е
http://www.generic-programming.org/languages/conceptcpp/papers/accu07.pdf
а вот в PPT
http://www.generic-programming.org/languages/conceptcpp/papers/accu07.ppt
Я что-то не просек. Если у нас тип не отвечает каким-то требованиям (в примерах из видео я видел примитивные примеры типа сравнимости ), то у нас все равно не инстанцируются шаблоны.
Шаблоны не инстанцируются, но проблема в том, что сообщение об ошибке при этом абсолютно невменяемое, и может занимать несколько экранов, и в чём конкретно ошибка - из этой ереси непонятно. А при использовании концептов сообщение об ошибке предельно простое и понятное.
Отправить комментарий