Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,325

Разница между шаблонами и дженериками

17.12.2017, 21:40. Показов 3835. Ответов 2

Студворк — интернет-сервис помощи студентам
Объясните пожалуйста на примерах...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2017, 21:40
Ответы с готовыми решениями:

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

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

Какая разница между различными сокетами (например, между 775 и 1155)?
Обясните пожалуйста какая разница между сокетами, пример есть сокет 775 и 1155 я понимаю что разем не тот процессора другие но! как насчет...

2
 Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
17.12.2017, 22:02
Термин Шаблоны используется в С++; Вот что говорит стек оверфлоф. Очень хорошо еще написанно в книге Шилдта и Троелсена по .NET.
Шаблоны (templates) в Си++ это частный случай обобщённых типов (generic types). Обобщённые типы в Си++ очень мощные, Тьюринг-полные. Вы, например, можете вычислять числа Фибоначчи во время компиляции с помощью шаблонов Си++.

В других языках (Java, C#) обобщённые типы гораздо проще. Соответственно, проще и компилятор, и отлов странных труднопонимаемых ошибок (см. Александреску головного мозга).

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

Например, обобщённый алгоритм, считающий среднее арифметическое коллекции объектов, накладывает на тип элементов два ограничения: элемент можно сложить с элементом и элемент можно разделить на целое число (такой тип ограничений реализован далеко не во всех языках программирования).

Обобщённая структура данных "список" не накладывает на тип элементов никаких ограничений, кроме тех, которые и так присущи любым объектам. В старых версиях таких языков, как C++, Java, C# без поддержки обобщённых типов, приходилось писать отдельную реализацию списка для каждой иерархии, либо постоянно приводить типы вверх и вниз.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,894
Записей в блоге: 1
17.12.2017, 22:11
UseMuse, недавно обсуждалось - Чем отличаются C# Generics и C++ Templates ?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2017, 22:11
Помогаю со студенческими работами здесь

Прблема с дженериками(List<T>)
struct mystruct { public int a; } static void Main(string args) { ...

Проблема с дженериками (The method is not applicable for the arguments)
Здравствуйте! Столкнулся с никак не разрешимой проблемой (почти никак), связанной с использованием дженериков. Есть два интерфейса -...

Проблема с дженериками, немогу указать верхнюю границу
Интерфейс: public interface Strategy&lt;K extends String,V extends Integer,T extends Map&lt;K,V&gt;, R extends GameFigures&gt;{ public R...

Разница между != и <=
Здравствуйте! Писал программу с использованием QuickSort и заинтересовала такая вещь: void quickSort(int arr, int left, int right) { ...

Разница между 42.1 и 13.2?
Смотрел на сайте две версии 42.1 только 64 битные, а 13.2 и 32 и 64, но разницы не могу понять, что только биты? Добавлено через 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru