4
ответа

Как 'is_base_of' работает?

Как следующее кодирует работу? символ определения типа (&yes) [1]; символ определения типа (&no) [2]; шаблон <имя типа B, имя типа D> Хост структуры {оператор B* () константа; оператор D* ();}; шаблон и...
вопрос задан: 21 July 2017 23:23
4
ответа

Как записать шаблон 'is_complete'?

После ответа на этот вопрос я пытался найти шаблон is_complete в библиотеке Boost, и я понял, что нет такого шаблона в Повышении. TypeTraits. Почему нет такого шаблона в Повышении...
вопрос задан: 23 May 2017 11:45
3
ответа

Шаблонная функция класса T: Как узнать, является ли T указателем?

Как продолжение этого вопроса: Я должен решить в функции класса как это: шаблон <имя типа T> bool Класс:: Забава <T*> (переменная T&) {...} Является ли T указателем или нет. В...
вопрос задан: 23 May 2017 12:23
3
ответа

Какие «черты» используются / определены в стандарте C ++ 0x

Типаж в C ++ инкапсулирует семейство операций, которые позволяют алгоритму или структуре данных работать с этим тип, с которым он создается. char_traits - это пример группировки строки- ...
вопрос задан: 29 April 2012 12:33
3
ответа

Тривиальные и нетривиальные операции в C ++ [duplicate]

Что вы подразумеваете под тривиальными и нетривиальными конструкторами в c ++? Вообще, в чем разница между тривиальными и нетривиальными операциями? Я запутался в мета-функциях type_traits, таких как ...
вопрос задан: 10 October 2010 07:14
3
ответа

Справка с чертами типа

Предположим, что у нас есть следующий шаблон шаблонного класса <имя типа T>, класс Переносится {/*... */}; Мы не можем измениться, Переносятся. Это важно. Позвольте существуют классы, полученные из Переноса <T>. Для...
вопрос задан: 14 January 2010 08:51
2
ответа

Введите определение черт. Блобы черт и Метафункции

Читая некоторый исходный код, я нашел следующее определение черт: пространство имен dds {шаблон <Тема имени типа> структура topic_type_support {}; шаблон <Тема имени типа> структура...
вопрос задан: 12 December 2009 11:06
1
ответ

Проверка существования члена, возможно, в базовом классе, версия C ++ 11

В https://stackoverflow.com/a/1967183/134841 предоставляется решение для статической проверки существования члена, возможно в подклассе типа: template class ...
вопрос задан: 23 May 2017 12:34
1
ответ

Черты типа C++, чтобы проверить, имеет ли класс оператор/участника [дубликат]

Возможный Дубликат: действительно ли возможно записать шаблон C++ для проверки на существование функции? Действительно ли возможно использовать черты типа повышения или некоторый другой механизм, чтобы проверить если деталь...
вопрос задан: 23 May 2017 12:33
1
ответ

std :: is_base_of не удается вывести отношения «Родитель-ребенок» [дубликат]

Я не знаю, почему std :: is_base_of здесь не работает. Я передаю дочерние классы «Player» (родительский класс: символ) и «оружие» (родительский класс: GameObject) в качестве аргументов функции World :: spawn (), как видно ...
вопрос задан: 5 December 2016 18:58
1
ответ

целочисленные черты (is_integer, is_integral)

Мне нужны две черты относительно целых чисел. Первый был бы похож на станд.:: is_integral (или повышение:: is_integral), но применимый с определяемыми пользователем типами (например, класс, переносящий интервал, говорят int_wrapper):...
вопрос задан: 10 August 2010 10:35
0
ответов

Узнайте, может ли объект C ++ вызываться

Можно ли написать черту типа, скажем, is_callable < T > что говорит, если объект имеет определенный оператор ()? Легко, если аргументы оператора вызова известны заранее, но не в ...
вопрос задан: 13 December 2018 21:02
0
ответов

С C ++ 17 возможно ли определить, имеет ли структура / класс какую-либо базу?

Мне нужна черта типа, которая будет истинной, если данный тип является производным от чего-либо, и ложной в противном случае. Например: template struct is_inherit // ... логика обнаружения наследования ...
вопрос задан: 14 September 2017 14:22
0
ответов

Хорошие практики в отношении специализации и наследования шаблонов

Специализация шаблонов не принимает во внимание иерархию наследования. Например, если я специализирую шаблон для Base и создаю его экземпляр с помощью Derived, специализация не будет выбрана (см. ...
вопрос задан: 23 May 2017 12:33
0
ответов

Почему свойства типа C++11 не являются псевдонимами шаблонов?

Аналогичный вопрос: Почему type_traits реализуются с помощью специализированных структур шаблонов вместо constexpr? – но с другим ответом. Я понимаю, что шаблоны псевдонимов не могут быть специализированными и, следовательно...
вопрос задан: 23 May 2017 11:45
0
ответов

Есть ли функция времени компиляции / макрос, чтобы определить, является ли структура C ++ 0x POD?

Я хотел бы иметь C ++ 0x static_assert, который проверяет, является ли данный тип структуры POD (чтобы предотвратить другие программы трамбовки от непреднамеренного взлома с новыми членами). т.е. структура A // является типом POD {...
вопрос задан: 23 May 2017 11:45
0
ответов

Почему std :: remove_const не удаляет спецификатор const?

Обратите внимание, что я использую std :: thread только для того, чтобы получить читаемые типы ошибок: int main () {const int * first; использование deref = decltype (* сначала); std :: thread s = std :: remove_const :: type {} ...
вопрос задан: 5 May 2017 01:05
0
ответов

std :: is_constructible для типа с закрытым деструктором

Каков ожидаемый результат для std :: is_constructible для типа с закрытым или защищенным деструктором? Например, я все еще могу создать такой объект в куче, хотя только друг может ...
вопрос задан: 22 January 2015 10:01
0
ответов

C ++ is_trivially_copyable check

Как проверить, можно ли тривиально копировать тип C ++? У меня есть класс, который использует функции memcpy и memcmp с указанным типом шаблона T, и я хотел бы активировать assert для типов, которые ...
вопрос задан: 18 April 2013 22:57
0
ответов

Различия между std :: is_integer и std :: is_integral?

C ++ 11 предоставляет два класса шаблонов признаков типа: std :: is_integer и std :: is_integral. Однако я не могу сказать различия между ними. Какой тип, скажем, T, может сделать std :: is_integer :: value ...
вопрос задан: 7 February 2013 21:11
0
ответов

Почему type_traits реализован со специализированными шаблонными структурами вместо constexpr?

Есть ли причина, по которой стандарт определяет их как шаблонные структуры вместо простого логического constexpr? В дополнительном вопросе, на который, вероятно, будет дан хороший ответ на основной ...
вопрос задан: 31 January 2013 15:53
0
ответов

Определить, является ли тип std :: tuple?

В настоящее время у меня есть две функции: template bool f (Type * x); template bool f (std :: tuple * x); Есть ли способ объединить эти две функции ...
вопрос задан: 28 October 2012 01:31
0
ответов

Получить тип параметра лямбда

Я хотел бы каким-то образом получить первый тип параметра лямбда-функции, возможно ли это? например вместо: template struct base {виртуальный логический оператор () (T) = 0; } ...
вопрос задан: 5 October 2012 20:11
0
ответов

Класс CRTP + Traits :«тип не назван…»

Я пытаюсь реализовать CRTP с шаблонным классом, и у меня возникает ошибка со следующим примером кода:#включить template class Traits { public :typedef...
вопрос задан: 3 August 2012 13:26
0
ответов

Тривиальная разрушаемость и необходимость вызова деструктора

Предположим, что существует такой тип T, что std ::является _тривиально _destructable ::value == true, и предположим далее, что T является типом значения некоторого векторного класса. Когда деструктор вектора...
вопрос задан: 2 August 2012 15:49
0
ответов

Черты типа C++ для выбора между T1 и T2

Я хочу, чтобы шаблон выбирал из двух типов на основе некоторого условия. Например. Базовая структура {}; шаблон <имя типа T1, имя типа T2> структурный тест { // например. здесь он должен выбрать T1/T2, который ...
вопрос задан: 16 June 2012 16:56
0
ответов

Черты типа C++ для извлечения класса параметров шаблона

В шаблоне я хочу детализировать параметр шаблона до реального не - шаблонный тип. Итак: шаблон структура MyTemplate { // к сожалению, здесь нет Extract_Base typedef ...
вопрос задан: 15 June 2012 20:44
0
ответов

Можно ли определить, является ли тип типом перечисления с ограниченной областью действия?

Существует ли признак типа или возможно ли написать признак типа is_scoped_enum таким образом, что: если T - любой другой тип, ...
вопрос задан: 23 May 2012 17:15
0
ответов

Как проверить во время компиляции, что выражение является недопустимым?

У меня есть проблема в моем приложении, где я хотел бы утверждать, что приложение-функция будет отклонено компилятором. Есть ли способ проверить это с помощью SFINAE? Например, предположим, что я хотел бы...
вопрос задан: 5 May 2012 18:34
0
ответов

Специализация шаблона C++ на основе наличия/отсутствия члена класса?

Рассмотрим следующий :struct A { typedef int foo; }; структура Б {}; template структура С {}; Я хочу специализировать C так, чтобы C получил одну специализацию...
вопрос задан: 27 April 2012 17:41