|
Заблокирован
|
|||||||||||
шаблоны31.07.2011, 11:36. Показов 5501. Ответов 61
возник вопрос, а как можно сделать так, чтобы различные экземпляры шаблона класса вели себя по разному в зависимости от того, что было передано в аргументах - класс или некласс. Приведу пример
0
|
|||||||||||
| 31.07.2011, 11:36 | |
|
Ответы с готовыми решениями:
61
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны |
|
Заблокирован
|
||
| 31.07.2011, 13:32 [ТС] | ||
|
это не совсем по теме, но если уж на то пошло, то name насколько мне известно не стандартизированна. Её вывод implementation-defined в С++03 или нет? Да и зачем нужны эти телодвижения когда можно это проверить на этапе компиляции.
Добавлено через 7 минут
0
|
||
| 31.07.2011, 13:39 | ||
|
не стремись найти самое сложное решение для самой простой задачи. лучше наоборот.
0
|
||
|
Заблокирован
|
|
| 31.07.2011, 13:49 [ТС] | |
|
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 31.07.2011, 16:09 | |
|
Не по теме: LosAngeles просто осваивает шаблоны. Знакомое чувство: и так можно, и эдак! А вот так еще можно? Жаль, нельзя... :) LosAngeles, не увлекайся возможностями шаблонов и не пытайся запрограммировать всю работу на шаблонах... ![]() Шаблоны для полноценного программирования много чего НЕ имеют, что приходится вывертами с учетом SFINAE реализовывать. Самое правильное использование шаблонов - обобщенные контейнеры и алгоритмы. Остальное - от лукавого... ![]() С типами лучше работать в рантайме - для того виртуальность нам и дана. А еще RTTI можно использовать.
1
|
|
| 31.07.2011, 17:27 | ||
|
и так было, пока вдруг не стала проявляться с устойчивой регулярностью ошибка. гений уже у нас не работал, дали одному разобраться и исправить. через неделю он сказал, что может только все это заново написать. дали второму, через пару дней заявил то же самое. я вообще отказался вовнутрь смотреть. практически весь код содержится в *.h файлах и выглядит не то что непривычно, а вообще не как код. что-то подобное я видел, когда разбирался с какими-то файлами конфигурации в юниксе. в общем, призвали гения обратно. он пришел, попялился до обеда в свои буковки, извинился и тихо ушел. когда встречаешь на улице - отводит глаза, делает вид, что не узнал. в конце-концов переписал негений всю эту кухню, и все опять работает. и без ошибок. и если поменять что-то нужно - любому скажи, полезет, разберется и поменяет. кстати, экзешник после того как переписали, стал раз в 10 короче. у гения был задумано так, что на каждый пук создавался по его темплейтам новый класс, содержащий поля, которые в свою очередь создавались по темплейтам, которые ...
1
|
||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 31.07.2011, 17:41 | ||
|
Очень похоже на рекомендацию не изучать шаблоны, так как они нафиг не нужны. На самом же деле надо очень тщательно изучать шаблоны, чтобы знать их возможности и ограничения, и использовать их когда это действительно выгодно. А в процессе изучения просто придётся построить кучу бесполезных велосипедов.
0
|
||
| 31.07.2011, 17:47 | |||
|
0
|
|||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 31.07.2011, 17:55 | |
|
0
|
|
|
Заблокирован
|
||
| 31.07.2011, 19:07 [ТС] | ||
|
1
|
||
| 31.07.2011, 19:30 | |||
приведу аргумент, чтобы ты зря не обижался. потому что шаблон по определению - нечто обобщающее для различных типов объектов. повторю: общее поведение для различных типов. а ты пытаешься выкрутить руки этой концепции, и сделать различное поведение для различных типов. для решения таких задач не через жопу существуют другие концепции.
0
|
|||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 31.07.2011, 19:44 | ||
|
0
|
||
|
Заблокирован
|
||
| 31.07.2011, 19:58 [ТС] | ||
|
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.08.2011, 10:09 | |
|
novi4ok, Если не умеете пользоваться метапрограммированием на С++ - не стоит отговаривать других. Это бывает как минимум интересно, а так же бывает (хоть и редко) полезно.
0
|
|
|
Заблокирован
|
||
| 01.08.2011, 11:07 [ТС] | ||
|
0
|
||
| 01.08.2011, 11:07 | |
|
Помогаю со студенческими работами здесь
40
Шаблоны шаблоны Шаблоны шаблоны в си++ Шаблоны Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью 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. . .
|