Что такое понятия?

Это имеет значение, который быстрее, если они не делают того же самого? Сравнение производительности операторов с различным значением походит на плохую идею.

is говорит Вам, если объект реализует ClassA где-нибудь в его иерархии типа. GetType() говорит Вам о больше-всего-производном-типе.

Не то же самое.

22
задан devin 28 April 2012 в 14:30
поделиться

2 ответа

Концепции - это общая функция программирования, которая позволяет кому-либо, пишущему шаблонный код, указывать требования, которым должны удовлетворять параметры типа.

Например, некоторым типам коллекций требуется параметр типа для коллекции для определения оператора <. Таким образом, программист может определить концепцию LessThanComparable, которая сообщает компилятору, что для параметра типа шаблонного класса должен быть определен оператор <. Если пользователь шаблона затем пытается создать экземпляр шаблона, используя тип, не имеющий концепции LessThanComparable (то есть не имеющий функции operator <), компилятор может выдать простое сообщение об ошибке, а не поток сообщений об ошибках, связанных с шаблонным кодом. Компилятор также может использовать дополнительную информацию, предоставляемую концепциями, для создания более эффективного кода.

Это что-то вроде упрощения, но я думаю, что это дает вам общее представление о концепциях.

Если вы хотите Чтобы опробовать некоторые возможности концепций, взгляните на библиотеку Boost.Concept Check. Я не думаю, что он предоставляет полный набор возможностей, которые должны были быть в стандарте, но это хорошее место для начала.

Вы также можете посмотреть ConceptC ++ , там есть хороший определение понятий есть.

Концепция Проверить библиотеку. Я не думаю, что он предоставляет полный спектр возможностей, которые должны были быть в стандарте, но это хорошее место для начала.

Вы также можете посмотреть ConceptC ++ , там есть хороший определение понятий есть.

Концепция Проверить библиотеку. Я не думаю, что он предоставляет полный спектр возможностей, которые должны были быть в стандарте, но это хорошее место для начала.

Вы также можете посмотреть ConceptC ++ , там есть хороший определение понятий есть.

24
ответ дан 29 November 2019 в 05:07
поделиться

Вот статья, которая, я думаю, поможет:

http://www.devx.com/SpecialReports/Article/38864

Решение об их удалении обсуждалось несколько раз. раз здесь, в SO. Это может оказаться интересным:

c0x Больше не имеет концепций

Концепции по сравнению с интерфейсами

Гипотетическое обсуждение концепций

10
ответ дан 29 November 2019 в 05:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: