Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518

Шаблоны - нужно ли

26.02.2015, 08:41. Показов 3079. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Гуру, подскажите новичку!

Хочу написать свой универсальный список классов на основе вектора.
(с сортировкой, предохранители при добавлении/удалении/получении, перестановкой и еще кучей прибамбасов)
Сделал уже два простых - для целых и для строк.
Сейчас нужно сделать такую-же для структуры (строка + число) и задумался, можно ли сделать "универсал" для любого типа?

Есть ли у шаблонов какие-нибудь действительно важные ограничения? На википедии прочитал про 1) тормоза при компиляции, 2) полное отсутствие отладки, 3) ограничения при мультиплатформености

Что из этого правда? Мне мультиплатформенность ОЧЕНЬ важна (win+android). Без отладчика (надеюсь) - обойдусь (один раз "отполирую", а дальше только правильные типы подставляй). Тормоза при компиляции не критичны (если не в разы).

Есть еще что-нибудь что стоит знать ДО переписывания старых типо-зависимых списков (вполне надежно работают) на новые универсальные. Не охота обнаружить ограничения через неделю кодерства (когда наконец дочитаю до нужной главы).

По ходу еще возник вопрос - можно на основе шаблона наследовать обычнй класс? Например список с указанным типов превратить в наследника с фиксированым типом и замененным/перекрытым одним из методов (сортировка по двум полям структуры, поиск по второму полю)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2015, 08:41
Ответы с готовыми решениями:

На каком уровне нужно знать шаблоны программисту
Здарсвуйте. В каком объеме нужно знать шаблони(template) хорошому программисту?

Зачем в данной программе нужно было использовать шаблоны?
сделан у меня шаблон для двунаправленного списка...причём список формируется по разному в зависимости от типа (инт, дабл и стринг) ...

Шаблоны (нужно отделять код скрипта от кода шаблона)
изучал некоторое время php и создал интернет-магазин, получилось всё норм, всё нравится, но наткнувшись на тему шаблонов...

24
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,830
27.02.2015, 14:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Tester64 Посмотреть сообщение
Спасибо! Похоже тогда оно того не стоит! Думал стоит понять основы технологии и сразу получу многократное упрощение и повышение скорости разработки...
На текущем этапе мне сложности совсем не нужны!!!
Тогда буду "по старинке" клоны лепить...
То, что ты хотел изначально и то, о чем писал hoggy, - совершенно разные вещи. Сложностей именно в твоих задачах будет минимум (в пределах погрешности). А hoggy писал о продвинутых техниках.
А пока что твое утверждение напоминает вот такой диалог:
А: Хочу научиться водить машину, какие могут быть сложности?
В: Вообще ничего сложного, но вождение бывает разное. Вот бывают ситуации, когда нужно водить болиды на высоких скоростях. Там и высокие перегрузки и травмы бывают, здоровье нужно и способности. Знаю очень много ребят, которые так и не смогли освоить такое вождение.
А: Спасибо! Я думал, что немного поучусь и смогу ездить, но тут оказывается вот что бывает. Не буду тогда учиться водить.
2
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
27.02.2015, 19:57  [ТС]
Цитата Сообщение от MrGluck Посмотреть сообщение
>>Тогда буду "по старинке" клоны лепить...
Смотрите, как бы не вошло в привычку.
Уже начал "лепить". Сделал "образец" с уже вполне работающим списком методов и пока без лишнего (полезное, но редкое заремарил - "разремарь и подправь если нужно"). Копирую из него, глобально заменяю названия и типы, иногда разремариваю пропущеное. В результате получаю компактные классы не плохо оптимизированые под задачу.

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

Позднее придумаю напишу свой парсер для поиска "забытых, но полезных" методов из свеже-доработанного образца.

А начиналось все с того что... давно сделал класс для удобного хранения списка строк в памяти (с поисками, сортировками, безопасными индексами(строка с номером -20="")). Надо было удержать список файлов и... рядом с каждым именем запомнить (а позднее и вывести) размер файла. Вариантов было 2:
1) доработать хранение строк, сделав для этого специализированый класс (клон) и заменить строки на мой тип
2) сделать некий универсал, что-бы потом только тип подставлять, иногда дополнять функциями, иногда перекрывать методы предка своими...

похоже проще (и надежнее) оказалось обойтись без шаблона... Учитывая что подобных вариантов списков будет не больше 50-100... проще ручками! И лишнего не будет и надежнее. И возможно чуть-быстрее.

Добавлено через 1 минуту
Возможно как-нибудь потом попробую изучить... если пойму что без этого действительно будет тяжелее...
0
27.02.2015, 20:18

Не по теме:

А, чё, в этой теме опять один д'Артаньян, а остальные....

0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.02.2015, 20:23
Цитата Сообщение от Tester64 Посмотреть сообщение
если пойму что без этого действительно будет тяжелее
Если даже необходимость написания своего парсера для статического анализа заведомо низкокачественного кода не хватает, чтобы потратить время на обучение, то о чем тут можно говорить…
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
27.02.2015, 21:37
MrGluck, для этого есть свои шаблоны, если от версии темплейта зависит собираемость проекта,пусть горит эта либрари в огне.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2015, 21:37

Нужно, чтобы прога вызывала разные шаблоны WORD, в зависимости от значения поля в форме
Нужно, чтобы прога вызывала разные шаблоны WORD, в зависимости от значения поля в форме. Привожу кусок кода: Private Sub...

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по шаблону. У меня создан шаблон документа...

Чем отличаются шаблоны HTML и шаблоны WordPress
В чём различие между шаблонами HTML и WordPress. Кроме того, что создаются они разными способами. Конкретно имею в виду, почему их...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис)
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем, корни у которых одни, решил создать эту...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru