Лучшие template-deduction вопросы ИТ разработчиков

  • 13 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Частичная спецификация шаблонной функции в C ++ работает, но почему?

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

Задан 25 Nov 2012, 19:16 от James Freeman
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Можно ли определить, является ли тип неполным без сбоя компиляции?

Я хочу добиться такого поведения, как sizeof (complete_type) вернет реальный sizeof, а sizeof (incomplete_type) - будет просто 0 Это необходимо для предоставления расширенной информации о типе времени выполнения для связи IPC (между процессами) ...

Задан 09 Dec 2011, 17:03 от dev_null
  • 13 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Частичная спецификация шаблонной функции в C ++ работает, но почему?

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

Задан 25 Nov 2012, 18:16 от James Freeman
  • 2 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

нет вызова соответствующей функции для функции сортировки с шаблонами (C ++)

я играю с шаблонами, и мне было интересно, почему яполучаю ошибку несоответствия функции используя шаблоны.

Задан 19 Jan 2013, 08:15 от user798774
  • 33 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Какова процедура частичного заказа при выводе шаблона

Читая стандарт C ++ 11, я могуЯ полностью понимаю смысл следующего утверждения. Пример очень приветствуется.Два набора типов используются для определения час...

Задан 09 Jun 2013, 00:57 от yuan
  • 18 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Почему автоматическое вычитание и вычитание типов шаблонов различаются для инициализаторов в скобках?

Я понимаю, что, учитывая инициализированный скобками,

Задан 10 Jul 2013, 21:29 от KnowItAllWannabe
  • 9 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

 а также

отрим следующую программу: template <class T> struct A { using X = typename T::X; }; template <class T, typename A<T>::X* = nullptr> void f(T, int); void f(...); template <class T> void g(T, int, typename A<T>::X* = nullptr); // # void g(...); ...

Задан 27 Oct 2018, 18:12 от xskxzr
  • 8 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Не могу определить тип шаблона

Я пытаюсь передать итератор в качестве параметра шаблона в метод шаблона, но компилятор жалуется, что:

Задан 16 Apr 2015, 14:19 от Q-bertsuit
  • 22 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

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

Читая другой вопрос, я столкнулся с проблемой частичного упорядочения, которую я сократил до следующего контрольного примера.

Задан 21 Oct 2018, 23:55 от DeduplicatorJohannes Schaub - litb
  • 16 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

 действительно будет пустым в этой ситуации.

отрим следующий код: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, 'a'}; ...

Задан 20 Oct 2017, 11:24 от Vittorio Romeo
  • 33 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Какова процедура частичного заказа при выводе шаблона

Читая стандарт C ++ 11, я не могу полностью понять смысл следующего утверждения. Пример очень приветствуется. Два набора типов используются для определения частичного упорядочения. Для каждого из задействованных шаблонов существует исходный тип ...

Задан 09 Jun 2013, 02:57 от yuan
  • 2 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

нет вызова соответствующей функции для функции сортировки с шаблонами (C ++)

Я играю с шаблонами, и мне было интересно, почему я получаю ошибку несоответствующей функции при использовании шаблонов. /*selection sort*/ template <typename InputIterator, typename T> void selection_sort(InputIterator first, InputIterator ...

Задан 19 Jan 2013, 09:15 от user798774
  • 66 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Что такое шаблоны вывода и когда мы должны их использовать?

Стандарт C ++ 17 вводит «руководство по выводу шаблона». Я полагаю, что они имеют какое-то отношение к новому выводу аргументов шаблона для конструкторов, пр...

Задан 03 Dec 2016, 19:35 от Tristan Brindle
  • 18 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

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

Я понимаю, что, учитывая инициализированный скобками,auto выведет типstd::initializer_list, в то время как вывод типа шаблона не удастся: auto var = { 1, 2, 3 }; // type deduced as std::initializer_list<int> template<class T> void f(T ...

Задан 10 Jul 2013, 23:29 от KnowItAllWannabe
  • 7 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

 сама специализация, а не шаблон.

.deduct.type] пункт 8 [http://eel.is/c++draft/temp.deduct.type#8]перечисляет все выведенные контексты, но, похоже, не включаетtemplate-name<TT> гдеtemplate-name относится к шаблону класса иTT ссылается на аргумент шаблона шаблона. Это выведенный ...

Задан 21 Feb 2018, 06:05 от xskxzr
  • 14 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Обходной путь для вывода аргумента шаблона в не выводимом контексте

Рассмотрим следующий код: #include <iostream> template<class T> struct outer { struct inner {}; }; template<class T> std::ostream& operator<<(std::ostream & stream, typename outer<T>::inner const& value) { std::cout << "An outer::inner!"; return ...

Задан 29 Nov 2011, 09:10 от Björn Pollex
  • 16 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

PR35107

сно с [temp.deduct.guide/3 [https://timsong-cpp.github.io/cppwp/n4659/temp.deduct.guide#3]]: (...) Руководство по дедукции должно быть объявлено в той же области видимости, что и соответствующий шаблон класса, и, для шаблона класса члена, с ...

Задан 07 Sep 2017, 18:41 от W.F.
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

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

C ++ позволяет указывать нетипизированные параметры шаблона, включая указатель функции, тип. Я недавно ...

Задан 19 Jul 2013, 00:41 от HighCommander4
  • 14 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Сложности, возникающие здесь, в основном такие же, как и в случае унаследованного конструктора. Фейсал Вали (один из других разработчиков метода вывода аргументов шаблонов классов) имеет конкретный план, как заставить такие случаи работать, но комитет C ++ еще не обсуждал это расширение.

#include <utility> template<class T1, class T2> struct mypair : std::pair<T1, T2> { using std::pair<T1, T2>::pair; }; int main() { (void)std::pair(2, 3); // It works (void)mypair(2, 3); // It doesn't work }орошо сформировано? Можно ли вывести ...

Задан 23 Oct 2017, 16:25 от Peregring-lk