|
1 / 1 / 1
Регистрация: 25.06.2009
Сообщений: 13
|
|||||||||||||||||||||||||||||||
Реализация идеомы UniqueType25.06.2009, 22:12. Показов 1208. Ответов 5
Метки нет (Все метки)
Идея проста и стоит во главе идеологии C++:
Писать класс для каждого подобного типа не реально. Возникла идея написать шаблон прокси класса:
Очевидное решение слегка не удобно:
однако реализовать его не смог Мозг ушел в глубокую рекурсию ![]() Бегло просмотрев кое-что по лиспу, стал подозревать что это не возможно. Остались вопросы: 1. Как реализовать шаблон UniqueType? 2. Можно ли здесь обойтись без макросов? 3. Возможно ли в принципе реализовать шаблон счетчик или иной генератор? 4. Кто-нибудь где-нибудь встречался с подобной идеомой?
0
|
|||||||||||||||||||||||||||||||
| 25.06.2009, 22:12 | |
|
Ответы с готовыми решениями:
5
Реализация AND и OR Реализация Реализация ЛС |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 27.06.2009, 18:53 | |
|
Скажи, что бессмысленного в присвоениии значения одной переменой другой?
Компилятор вполне осмысленно запрещает тебе присвоение значения одного типа переменной совершенно иного. Это предупреждает неопределенность в поведении программы и обращает внимание программиста на то, что он нифига не указал, че сделать хочет. То, что хочешь сделать ты, я тоже слабо понимаю.
0
|
|
|
|
|
| 27.06.2009, 19:03 | |
|
Из-за проблем с форумом часть постов похерилась. В общем, ему нужны типы, которые логически бы означали разные вещи. Что-то типа "typedef int aaa_t; typedef int bbb_t;" но при этом чтобы переменную типа aaa_t (которая, например означает килограммы), нельзя было присвоить в перменную типа bbb_t (которая означает километры).
rs4i, кроме черезж$пного способа, до которого ты уже и сам додумался (шаблон от двух типов, один из которых фиктивный, но уникальный), вроде бы больше ниикак не сделать
0
|
|
|
1 / 1 / 1
Регистрация: 25.06.2009
Сообщений: 13
|
|
| 29.06.2009, 08:04 [ТС] | |
|
Найден вот такой подход:
template< class T, int > class UniqueType{ /**/ }; UniqueType< std::string, __LINE__ > login = "rs4i"; UniqueType< std::string, __LINE__ > pass = "******"; login = pass; // error Все это легко оборачиваеться в макрос. Выглядеть будет приблизительно так: MacroUniqueType( std::string ) login = "rs4i"; Это не совсем коректно, так как, в разных файлах на одинаковый по номеру строках можно создать одинаковые типы. Добавлено через 28 минут 25 секунд еще тему нарыл: http://rsdn.ru/forum/cpp/2337981.aspx
0
|
|
|
1 / 1 / 1
Регистрация: 25.06.2009
Сообщений: 13
|
|||||||
| 29.06.2009, 12:36 [ТС] | |||||||
|
Код счетчика
Решение конечно интересное .. но .. похоже бесполезное. Еще не вечер. Может нарою еще что.
0
|
|||||||
| 29.06.2009, 12:36 | |
|
Помогаю со студенческими работами здесь
6
Реализация Реализация if-else
Реализация на C# Реализация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|