|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
||||||
Как перегрузить методы, чтобы получились аналоги get set из C#12.10.2015, 22:15. Показов 6670. Ответов 75
Метки нет (Все метки)
Как можно перегрузить методы, что бы получился аналог get set из C#. Т.е. что то такое:
0
|
||||||
| 12.10.2015, 22:15 | |
|
Ответы с готовыми решениями:
75
Как сделать, чтобы из числа, допустим, 0,040005000 после 5 получились звёздочки Std::set с кастомным классом, как правильно перегрузить оператор < ? Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов? |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 12.10.2015, 23:33 | |
|
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 12.10.2015, 23:33 | |||||||
1
|
|||||||
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|||||||
| 12.10.2015, 23:33 [ТС] | |||||||
|
Например у меня есть класс с несколькими переменными:
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 12.10.2015, 23:38 | |
|
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 12.10.2015, 23:43 | ||
|
0
|
||
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
||||||||||||||||
| 12.10.2015, 23:52 [ТС] | ||||||||||||||||
|
Пока что вот это кажется самым близким к ответу:
0
|
||||||||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 12.10.2015, 23:55 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 13.10.2015, 00:00 | |||
|
другое дело, что они просто не востребованы. поддерживаются ещё с незапамятных времен.
0
|
|||
|
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
|
|||
| 13.10.2015, 00:01 [ТС] | |||
|
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 13.10.2015, 00:13 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 13.10.2015, 00:28 | ||||||
|
1. нет. не живут. 2. проперти там нафиг не упали. дело в том, что они не дают ровным счетом никакого профита в сравнении с самыми обычными геттерами/сеттерами. в них просто нет смысла. либо вы опять начали тупить. крестовых указателей на функцию-член объекта не существует в природе. их умеют все компиляторы ещё с бородатых времен. и не имеет никакого отношения ни к указателям на функцию-член, ни к шаблонам. в общем, вы опять начинаете нести бред.
0
|
||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 13.10.2015, 00:45 | |||||
|
Добавлено через 5 минут Второй профит - управление доступом к полям на чтение запись. Read only поля к примеру, без излишнего в таком случае вызова геттера. Ну и то без чего не обойдется визувльное проектирование в принципе - эти таблички подстановки записываются компилятором в RTTI и используются инспектором объектов для визуального редактирования. Добавлено через 3 минуты
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||
| 13.10.2015, 00:57 | |||||||||||||||||
|
потому что правила языка. именно поэтому, не существует указателей-на-функцию-член, без указания класса, к которым относятся функции-члены. не путайте понятие "указатель на функцию-член" и "делегат". ваш returntype (__closure *Proc)(arglist); только выглядит как указатель. на самом деле это - делегат. довольно таки жалкий по своим возможностям. но все таки, это - делегат, а не member-function-pointer. там под капотом целая механика по связыванию объекта с указателем-на-функцию-член. на языке с++ существует стандартный делегат: std::function, который предоставляет богатые возможности по части любых связок как для свободных функций, так и для функций-членов, и для лямбд, и для любых других функторов. Добавлено через 7 минут и привычнее. в любой цивилизованной идешке можно вбить:
уберите префиксы "set"/"get" , и получите зоопарк имен. и это плохо для читабельности. выглядит как доступ к обычному полю класса, но на самом деле под капотом те же самые сеттеры/геттеры. здесь нет выигрыша в эффективности. с точки зрения оптимизации:
в обоих случаях все прекрасно inline. и нет никаких лишних вызовов. но формошлепству это как то так особе не помешало. ну-ну.
0
|
|||||||||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 13.10.2015, 00:59 | |||
|
У Бъерна явно с ООП всегда туго было. А то бы сразу понял что биндинг чего либо к делегату избыточен, все что ему передается должен передавать вызывающий, а весь этот шаблонно-лямбдовый синтаксис опять же тоже только ухудшает читабельность и ведет к ошибкам. А вот указатели которые называются указателем на члены (с указанием типа класса) действительно не востребованы. За 20 лет которые С++ колупаю ни разу не встречал чтобы где то применялись. Добавлено через 1 минуту
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 13.10.2015, 01:00 | |||
|
не взирая на тот факт, что какой нибудь qt и без всякой рефлексии формошлепит, только в путь.
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 13.10.2015, 01:12 | ||||||||
Добавлено через 5 минут
0
|
||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||
| 13.10.2015, 01:15 | |||||||||||||
|
во времена доса его ещё не существовало. std::function вошел в стандарт начиная лишь с++11. std::function и есть делегат. он умеет цеплять любые функциональные объекты: функции, функции-члены, лямбды, функторы. ему пофигу анонимное оно там, или нет. может цеплять как по значению, так и по ссылкам. вы сами поняли, что за бред написали, и как это коррелирует с реальным положением дел? или лямбды? что именно в следующей строке вам трудно прочитать?
использует их у себя под капотом, например. Добавлено через 1 минуту так вы покажите пример рантайм-рефлексии? или это так, пустые слова?
0
|
|||||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||||||||||||||||
| 13.10.2015, 07:04 | ||||||||||||||||||||||||||
|
Добавлено через 2 минуты вызов ассемблируется на прямую. Добавлено через 2 минуты Добавлено через 5 минут Добавлено через 19 минут А передача указателя именно на метод требуется тогда когда класс-подписчик неизвестен вызывающему классу, т.е на каждом шагу. А что касается правила языка, то правила алгоритмического языка растут из потребностей программистов. Если стандарт отстал от жизни лет на 20 то это проблемы комитета и тех производителей компиляторов которые тупо следуют стандарту. Никакие темплейты и стандартизация бибилиотек в дальнейшем развитии языка не помогут, если игнорировать эффективные и насущные потребности в расширении синтаксисиа. Добавлено через 16 минут А то не комитет по стандартизации получается а отдел сбыта фирмы Dinkumware Добавлено через 14 минут Добавлено через 11 минут Причина в принципе понятна. Но не понятно что они еще пытаются выжать из такого вспомогательного средства как шаблоны. Шаблоны нельзя ставить во главу угла так как компайл-тайм полиморфизм никогда не заменит ран-тайм полиморфизм. Поэтому основой должно быть ООП, а соответсвенно устранение в стандарте недоделок в плане синтаксиса свойств и делегатов и стандартизации рефлекшина, а шаблоны - вспомогательное средство. Но при таком подходе Dinkumware в трубу вылетит. Добавлено через 24 минуты Добавлено через 5 минут Пример:
Добавлено через 1 час 10 минут Obj.Value++; чем Obj.SetValue(Obj.GetValue()+1); По этому эффективность в скорости набора кода и читабельности алгоритма налицо. Мне деньги платят за безошибочно работающий функционал. А вам наверное за количество символов в коде? Добавлено через 25 минут
0
|
||||||||||||||||||||||||||
| 13.10.2015, 07:04 | |
|
получить все комбинации по парам x y, чтобы получились следующие массивы Из каждого предложения удалить знаки препинания чтобы получились лексемы Как перегрузить оператор = , чтобы ф-ция была дружественной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|