среда, ноября 12, 2008

Видео Concepts: Extending C++ Templates For Generic Programming

Рассказ про новую фичу, которая будет в C++0x - концепции.


По ссылке с Deepen C++.

Updated 15.11.2008:
Поскольку далеко не все захотели смотреть видео на час, хорошо бы привести описание концепций. Свое мне писать лень, в комментариях Cheremukhin привел ссылку на хорошее описание.
Короче говоря, это требования к обобщаемому типу, невыполнение которых может привести к ошибке инстанцирования шаблона. На данный момент такие требования повсеместно встречаются в документации(IS, boost docs, etc). Теперь эти требования можно будет выражать в коде.
Там чуть вниз надо отмотать до раздела Concepts.

8 коммент.:

Evgeny Korostelev комментирует...

Было бы куда полезней, если бы вы описали парой абзацев суть видео, видео на час - это серьезно.

isagalaev комментирует...

+1

Очень не хочу смотреть все видео, чтобы понять, правильно ли я думаю, что это Java'вские (и Делфийские) интерфейсы, и чем оно от них отличается.

nord комментирует...

Java-интерфейсы это тупо классы, состоящие полностью из pure virtual функций. Концепция - это описание требований к типу, от нее не наследуются.

Cheremukhin комментирует...

Вот
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

Farafonoff комментирует...

Я что-то не просек. Если у нас тип не отвечает каким-то требованиям (в примерах из видео я видел примитивные примеры типа сравнимости ), то у нас все равно не инстанцируются шаблоны.

Анонимный комментирует...

Шаблоны не инстанцируются, но проблема в том, что сообщение об ошибке при этом абсолютно невменяемое, и может занимать несколько экранов, и в чём конкретно ошибка - из этой ереси непонятно. А при использовании концептов сообщение об ошибке предельно простое и понятное.