Описание тега generic-programming

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

Определение вложенного класса из заголовочного файла

Все еще довольно новый с C++ и пытаюсь поднять это на ступеньку выше. Я хотел бы создать класс Heap с вложенным классом Node и добавить аспект сортировки кучи в класс Heap. Я сделал нечто подобное с Java, но я застреваю, пытаясь определить вложенный…
3 ответа

Шаблон принимает const, но не буквальный

При написании шаблона, class T может быть заменен const тип. Рассматривать: template<class T> T& min(T& a, T& b) { return a < b ? a : b; } Это будет работать в следующих случаях: int a = 1, b = 5; const int c = 1, d = 5; min(a, …
29 авг '18 в 11:44
2 ответа

Как сослаться на уже существующую переменную типа в спецификации типа haskell?

Я хочу напечатать spec функцию f', определенную внутри функции f, чтобы обе их спецификации типа ссылались на одну и ту же переменную типа. Однако, когда я пытаюсь сделать это, я получаю ошибку компиляции от компилятора, которая предполагает, что m …
1 ответ

Язык программирования, где значения и объекты различны

Я пытаюсь начать с "Элементов программирования" Алекса Степанова и Пола МакДжонса. На странице 5 последний пункт: они говорят, "В этой книге используется язык программирования, который не может описывать значения и типы значений отдельно от объектов…
2 ответа

C _Generic error - ожидаемое выражение перед _Bool

Я узнаю о C _Generic. Вот вопрос: почему я не могу скомпилировать приведенный ниже код успешно? Это только выдаст ошибку как заголовок. #include <stdio.h> #define EVALUATE(X) _Generic((X), _Bool : "boolean", default : "not boolean") int main(v…
26 мар '15 в 13:04
1 ответ

Как наследовать суперкласс, когда суперкласс является универсальным классом в Swift

У меня есть два вопроса, которые необходимо решить. Первый вопрос: Суперкласс, имя - FatherClass, наследование суперкласса суперкласса, пожалуйста, прочитайте этот код: class FatherClass <FT> { } class SubClass : FatherClass { // Error : Refer…
01 апр '16 в 09:18
1 ответ

Загрузка двух DLL

У меня есть два вопроса, соответствующие DLL 1) Может ли один и тот же Dll загружаться процессом дважды (из двух разных мест в файловой иерархии)? 2) Может ли процесс загружать две разные DLL с одинаковыми именами?
21 авг '14 в 06:46
1 ответ

Разрешает ли текущий SYB расширение обобщенных функций новыми типами?

Первые две статьи Scrap Your Boilerplate описывают способ написания универсальных функций, которые работают для общих типов, но имеют особые случаи для конкретных типов. Например, fromJSON от aeson пакет, определяет универсальную функцию для преобр…
1 ответ

C++ Почему появляется ошибка "нет соответствующей функции", когда она на 100% выглядит так, как будто они совпадают?

Я не понимаю, почему я получаю сообщение об ошибке, в котором говорится, что моя функция не соответствует моей определенной функции шаблона. Для меня они выглядят точно так же. Вот ошибка в моей отладке: error: no matching function for call to 'merg…
2 ответа

Как получить карту имен полей с типами полей класса case с бесформенным

Я просмотрел почти все учебные пособия и у меня на столе есть "Астронавты типов", но я до сих пор не могу понять, как написать фрагмент кода, который может извлекать карту имен для типов, используя бесформенный класс case. Чтобы быть точным, я после…
22 ноя '18 в 02:09
2 ответа

Параметр типа для метода такой же, как его внешний тип

У меня есть такой интерфейс: public interface IStuff { bool DoSomethingWith<T>(T type); } И этот класс, который реализует это public class MyStuff<T> : IStuff { readonly ISomeClass<T> _cls; public MyStuff(ISystemCache cache) { _cls…
16 окт '15 в 17:04
0 ответов

Классы проблем и наследование

Я нахожусь в середине (ближе к концу) моего второго класса C++ в колледже. Мой вопрос несколько прост. В основном, у меня есть класс под названием class Stock_Type определено в одном заголовке, и у меня есть шаблон класса с именем template<class …
1 ответ

Ошибка при вызове метода шаблона в "templated-base-class"

Следующий код не компилируется, почему так? И как я могу это исправить? struct A{ template<int N> int get() { return N; } }; template <typename X> struct B : public X { template<int N> int get() { return X::get<N>(); } }; int…
06 янв '12 в 08:05
3 ответа

Самый простой способ сравнить значения большого типа данных, игнорируя одно поле или без этого поля

Я работаю с типом данных из библиотеки, которая имеет много конструкторов, и каждый конструктор имеет несколько полей. Каждый конструктор определяется с использованием синтаксиса записи. И каждый конструктор имеет поле с тем же именем. Я хочу провер…
18 июл '17 в 15:57
2 ответа

Как установить универсальный haskell

После установки объятий, а затем установки ghc6, затем установка generic-haskell имеет следующее сообщение: Как это сделать? # make package Creating generic-haskell package ... ghc-pkg: cannot find package generic-haskell Reading package info from "…
21 апр '11 в 03:40
2 ответа

Могу ли я получить доступ к типу переменной для общего программирования?

Если у меня есть такой код: std::wstring s(L"..."); bool allCharsEqual = std::find_if(s.begin(), s.end(), std::bind1st(std::not_equal_to<std::wstring::value_type>(), mystring[0])) // ^^^^^^^^^^^^^^^^^^^^^^^^ == s.end(); Я хотел бы иметь общее …
15 окт '15 в 14:55
2 ответа

Eiffel: недопустимое ограничение для формального универсального параметра

Следуя странным шаблонам для некоторых, я не могу сделать это? Компилятор говорит Invalid constraint for formal generic parameter class PARENT[G -> CHILD[like Current]] feature -- Access children: LIST[G] end class CHILD[H -> PARENT[like Curre…
19 окт '18 в 20:03
2 ответа

Определение пользовательских свойств итератора для универсальной функции

Я пытаюсь написать универсальную функцию, которая будет выводить тип возвращаемого значения во время компиляции в соответствии с итератором, который он дал. Обычно это делается с помощью std::iterator_traits, но я также хотел определить свою собстве…
16 июл '14 в 21:00
1 ответ

Caugth ClassCastException в моем приложении Java

Реализация очереди использует массив, но я получаю исключение. У меня есть интерфейс с именем Queue с универсальным ArrayQueue в качестве реализованного класса интерфейса Queue ArrayQueueTest в качестве основного класса для тестирования кода. public…
1 ответ

Доступ к БД из базовой модели

У меня есть базовая модель, как показано ниже, и я использую эту модель, чтобы получить / установить дату создания и изменения для каждой модели. public class BaseModel { [ForeignKey("CrUser")] public ApplicationUser UserCr { get; set; } public stri…
11 июл '14 в 06:22