14
ответов

Как я могу добавить отражение к приложению C++?

Я хотел бы смочь анализировать класс C++ для его имени, содержание (т.е. участники и их типы) и т.д. Я говорю собственный C++ здесь, не управляемый С++, который имеет отражение. Я понимаю, что C++ предоставляет некоторых...
вопрос задан: 20 June 2010 17:10
7
ответов

Как вызвать шаблонную функцию, если она существует, и что-то еще иначе?

Я хочу сделать что-то как шаблон <имя типа T> пустое нечто (константа T& t) {ЕСЛИ панель (t) скомпилировала бы панель (t); ЕЩЕ baz (t);} я думал, что что-то с помощью enable_if сделает...
вопрос задан: 6 September 2009 17:23
6
ответов

Можно ли написать шаблон для проверки существования функции?

Можно ли написать шаблон, который меняет поведение в зависимости от того, определена ли определенная функция-член в классе? Вот простой пример того, что я хотел бы написать: template < class T & ...
вопрос задан: 3 May 2017 17:35
6
ответов

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

Для создания алгоритма обрабатывают по шаблону функцию, которую я должен знать или x или X (и y или Y) в классе, который является аргументом шаблона. Это май полезным при использовании моей функции для MFC класс CPoint или GDI + PointF...
вопрос задан: 29 July 2016 05:41
5
ответов

Две различные реализации одного и того же конструктора шаблонов с использованием SFINAE [duplicate]

Возможно ли иметь два разных конструктора, которые активируются через SFINAE в зависимости от характеристик? Я пробовал следующее, но не получилось. template & lt; typename ... Args & gt; класс Foo {...
вопрос задан: 8 April 2016 11:59
5
ответов

Объяснить C ++ SFINAE программисту не на C ++

Что такое SFINAE в C ++? Не могли бы вы объяснить это словами, понятными программисту, который не разбирается в C ++? Кроме того, какому понятию в языке вроде Python соответствует SFINAE?
вопрос задан: 12 August 2011 22:58
4
ответа

Проверьте, имеет ли класс функцию членства данной подписи

Я прошу шаблонный прием обнаруживать, если класс имеет определенную функцию членства данной подписи. Проблема подобна той, процитированной здесь http://www.gotw.ca/gotw/071.htm, но не same:...
вопрос задан: 11 November 2018 12:24
3
ответа

Несколько правил SFINAE

После чтения ответа на этот вопрос я узнал, что SFINAE может использоваться для выбора между двумя функциями на основе того, имеет ли класс определенную функцию членства. Это - эквивалент...
вопрос задан: 23 May 2017 10:28
3
ответа

Почему вам иногда нужно писать `typename T` вместо просто` T`?

Я читал статью в Википедии о SFINAE и обнаружил следующий пример кода: struct Test {typedef int Type; }; template void f (typename T :: Type) {} // ...
вопрос задан: 8 February 2014 06:33
3
ответа

C++ примеры SFINAE?

Я хочу войти в большее количество шаблонного метапрограммирования. Я знаю, что SFINAE обозначает "отказ замены, не ошибка". Но кто-то может показать мне хорошее использование для SFINAE?
вопрос задан: 11 June 2009 18:25
3
ответа

SFINAE с недопустимым функциональным типом или параметрами типа массива?

Рассмотрите этот код: шаблон <имя типа T> символ (&f (T[1])) [1]; шаблон <имя типа T> символ (&f (...)) [2]; международное основное () {символ c [sizeof (f <пусто ()> (0)) == 2];} я ожидал...
вопрос задан: 5 May 2009 16:29
2
ответа

Добавить функции-члены и переменные-члены на основе аргумента шаблона

У меня есть семейство функций {f_n}, где f_0 непрерывно, f_1 непрерывно дифференцируемо, $ f_ {n} \ in C ^ {n} [a, b] $ и так далее. У меня есть класс C ++, который дает числовую оценку f_n с помощью поиска ...
вопрос задан: 1 March 2019 21:19
2
ответа

Почему это работает (Шаблоны, SFINAE). C++

обращаясь к вчерашнему сообщению, это разбудило меня этим утром. Почему это на самом деле работает? Пока функциональный тест затронут, эта функция не имеет никакого тела поэтому, как это может выполнить что-нибудь? Я хочу...
вопрос задан: 1 May 2010 15:38
2
ответа

SFINAE + sizeof = обнаруживают, если выражение компилирует

Я просто узнал, как проверить, обеспечивается ли оператор <<для типа. шаблон <класс T> T& lvalue_of_type (); шаблон <класс T> T rvalue_of_type (); шаблон <класс T> структура...
вопрос задан: 1 May 2010 15:37
1
ответ

Почему SFINAE применяется только к одной из этих двух, казалось бы, идентичных функций?

Следующий код не компилируется (с помощью clang 7.0, --std = c ++ 17): struct Foo {void foo () {}}; struct Bar {void bar () {}}; struct Both {void foo () {} void bar () {}}; шаблон & ...
вопрос задан: 1 March 2019 22:15
1
ответ

Типы кортежей C ++ для типов параметров функций

Допустим, у меня есть функция, которая должна принимать аргументы, которые должны соответствовать типам кортежа, я мог бы написать это так: используя ArgsTuple = std :: tuple < int, float & gt ;; шаблон < typename ... ...
вопрос задан: 26 February 2019 13:51
1
ответ

SFINAE для проверки на наследованные функции членства

Используя SFINAE, я могу обнаружить, имеет ли данный класс определенную функцию членства. Но что, если я хочу протестировать на наследованные функции членства? Следующее не работает в VC8 и GCC4 (т.е. обнаруживает...
вопрос задан: 23 May 2017 12:25
1
ответ

Заставить `std :: get` играть с SFINAE

std :: get не кажется SFINAE-дружественным, как показано в следующем тестовом примере: template < class T, class C > auto foo (C & amp; c) - > decltype (std :: get < T > (c)) {return std :: get < T & ...
вопрос задан: 23 May 2017 11:45
1
ответ

Как проверить, существует ли оператор ==?

Я пытаюсь создать пример, который проверял бы существование оператора == (член или функция, не являющаяся членом). Проверить, есть ли в классе член operator ==, легко, но как проверить, ...
вопрос задан: 23 May 2017 02:10
1
ответ

Если адрес функции не может быть разрешен во время вычета, это SFINAE или ошибка компилятора?

В C++ 0x SFINAE правила были упрощены таким образом, что любое недопустимое выражение или вводит, который происходит в "прямом контексте" вычета, не приводит к ошибке компилятора, а скорее к вычету...
вопрос задан: 2 October 2011 10:29
1
ответ

Обнаружьте, если класс имеет сбои перегруженной функции на компиляторе Comeau

Я пытаюсь использовать SFINAE, чтобы обнаружить, если класс имеет перегруженную функцию членства, которая берет определенный тип. Код, который я имею, кажется, работает правильно в Visual Studio и GCC, но не компилирует использование...
вопрос задан: 6 May 2011 03:13
1
ответ

повышение:: метод шаблона класса enable_if

Я получил класс с шаблонными методами, который смотрит на это: структура, неопределенная {}; шаблон <имя типа T> структура is_undefined: mpl:: false_ {}; шаблон <> структура is_undefined <неопределенный>:...
вопрос задан: 29 May 2010 17:18
0
ответов

Почему Разрешение перегрузки предпочитает неограниченную функцию шаблона по сравнению с более конкретной?

У меня есть эта минимальная библиотека шаблонов выражений с умножением, то есть шаблон < typename T, typename U > struct mul {const T & v1; const U & v2; }; шаблон < typename T, ...
вопрос задан: 6 June 2019 03:49
0
ответов

Частичная специализация метода в шаблонном классе

Дана :struct A { виртуальный логический тип ()= 0; }; template<имя типа T, имя типа Q> структура B :общедоступная A { виртуальное логическое значение что (); }; Я хочу частично специализировать что-то вроде :template<...
вопрос задан: 23 May 2017 12:34
0
ответов

Можно ли проверить, определена ли функция-член для класса, даже если этот член унаследован от неизвестного базового класса

Я нашел похожие вопросы и ответы, подобные этому. Однако, как я пробовал, эти тесты SFINAE были успешными только в том случае, если тестируемый член был непосредственно определен в тестируемом классе. Например, ...
вопрос задан: 23 May 2017 12:31
0
ответов

C ++, почему SFINAE не работает только с параметром шаблона класса?

Я использую SFINAE в стиле этого ответа для вызова универсального векторного объекта с помощью соответствующей функции-члена. Например, следующий код сначала вызывает оператор [] (int) const, а если ...
вопрос задан: 23 May 2017 12:29
0
ответов

Как вызвать функцию-член, только если она есть у объекта? [дубликат]

Возможный дубликат :Можно ли написать шаблон C++ для проверки существования функции? У меня есть функция f, которая получает значение val типа T (templated ). Есть ли способ вызвать...
вопрос задан: 23 May 2017 12:14
0
ответов

Python FTP для iPad

Я использую Windows 7. Я не могу подключиться к своему iPad с помощью простого скрипта Python: HOST = '192.168.1.122' попробуйте: f = ftplib.FTP (HOST)
вопрос задан: 23 May 2017 12:14
0
ответов

Можно ли использовать свойства типа _/ SFINAE, чтобы узнать, определяет ли класс член TYPE?

Я видел этот вопрос, который позволяет проверить наличие функции-члена, но я пытаюсь выяснить, имеет ли класс тип члена. В приведенном ниже примере оба оцениваются как "false"...
вопрос задан: 23 May 2017 11:33