|
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,131
|
|||||||||||
Указатель на объекты и члены классов06.12.2014, 20:57. Показов 1988. Ответов 31
Метки нет (Все метки)
Мне в одной функции нужно вызвать все Start(). То есть не хотелось бы делать:
Если что, базового класса нет.
0
|
|||||||||||
| 06.12.2014, 20:57 | |
|
Ответы с готовыми решениями:
31
Преобразования объектов классов в объекты других классов
|
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
||
| 07.12.2014, 14:23 | ||
|
Вы можете петь, танцевать, пытаться обвинить всех вокруг во лжи и т.д. Но факт только один: связываете ли Вы вызов статически напрямую или связываете его через псевдоним -- это значения не имеет. Связываете Вы, именно Вы, а не программа во время исполнения. Запишите себе куда-нибудь.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 07.12.2014, 14:27 | |||
|
Классы не имеют общих предков. Нет никаких методов "которые уже связанны динамически". И этот момент не имеет никакого отношения ко лжи господина Tulosba
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 07.12.2014, 14:54 | |
|
Не по теме: Эх, хорошо быть господином *feel like a sir*. Плохо только, что обвиняют во лжи, не считая это обвинением :) hoggy, может быть тебе полегчает, если в моей фразе "бредовыми и непереносимыми" использовать союз "или" вместо "и"? На данный момент это единственная у меня мысль, которая, может быть, поспособствует принятию тобой решения о том, что вариант с функторами является бредовым (но не непереносимым).
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 07.12.2014, 15:02 | ||
|
До этого вы утверждали, что любые решения бредовые и не переносимые. Теперь - что они бредовые, или не переносимые. Я продемонстрировал решение, которое не является бредовым и является переносимым. Поэтому модифицированная фраза по прежнему остается ложью.
0
|
||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 07.12.2014, 15:08 | |
|
Tulosba, использование функторов имеет место быть. Это не соответствует ожиданиям автора темы в виде какого-нибудь указателя, но он искал решение сообразно своей квалификации. Насколько такое решение over в плане engineering - нужно смотреть для конкретной задачи.
hoggy, не важно, насколько технически правильные решения предлагаешь. Высказался необоснованно резко - народ и сагрился.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 07.12.2014, 15:14 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||
| 07.12.2014, 15:35 | ||||
|
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 07.12.2014, 15:42 | ||||
|
О какой именно автоматике идет речь?
0
|
||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 07.12.2014, 15:44 | ||
|
Покажи преимущества, чтобы не быть голословным.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 07.12.2014, 15:51 | |||||||
|
В других ситуациях зависит от ситуации. Например, соверменный гуй. У вас есть билиотека гуи, которая реализует правило "закрыт для изменений, открыт для расширений". Надеюсь нет нужды объяснять почему следование этому правилу на вес золота в мире бизнеса? И вот у вас есть кнопка, которая ничего не знает о вашем бизнес-проекте.
Если вы - программист интерфейса, занимайтесь интерфейсом. Это лишь один из примеров. Надеюсь, что более вы не будите задавать мне вопросы из серии "зачем нужны делегаты", или "слоты-сигналы". Я уже предложил вам создать отдельную тему, если у вас есть подобные вопросы. И не стану в дальнейшем поддерживать вас в вашем оффтопике. По поводу ТС - я предоставил решение в рамках его задачи. Я не знаю зачем ему это нужно. И не утруждаю себя думками и догадками. Я уже рекомендовал вам не делать выводы на домыслах.
0
|
|||||||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 07.12.2014, 17:19 | |
|
hoggy, речь ни в одном сообщении не шла о том, что функциональный стиль представления алгоритма плох или не нужен. Но ложка хороша к обеду. Использование такого подхода там, где есть более простое решение, только запутывает код. Настолько запутывает, что Вы уже и сами не можете разобрать в какой части статическое связывание, а в какой динамическое. И Вы предполагаете, что новичок, который даже паттернов проектирования не знает, разберётся в вашем примере? Нет!
Код Ваш не эффективен. Он не решает ничего. Он не добавляет ничего, кроме проблем. Вы просто создали набор псевдонимов и теперь предлагаете везде вызывать функцию, которая оперирует набором псевдонимов вместо оригинальных имён. Можно. Можно ехать из Санкт-Петербурга в Москву через Владивосток. Но зачем? Вот за это Ваш код и называют бредовым, а не потому, что сами-по себе функторы плохи.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 07.12.2014, 23:20 | |||||||
|
И когда я говорю "решение", то имею ввиду такое, которое не нарушает требований. Я заметил, сложности оно вызывает лично у вас. А вот лично я знаю, как std::funсtion устроен внутри. Он, и многие другие, кроме него. Не только в использовании, но и в устройстве самого делегата ничего такого сложного нет. Дайте я угадаю: очередные домыслы? А вы в курсе насколько вообще эффективна конструкция std::function ? Она оптимальна настолько, что наихудший итоговый результат оптимизируется точно так же, как обычный вызов виртуальной функции. А наилучший итоговый результат оптимизируется до прямого вызова обычной (не виртуальной) функции. Если очень просто попробовать это объяснить без технических деталей: представьте себе, что std::function волшебным образом подмешал в классы базовый класс и задействовал интерфейс. И в некоторых случаях компилятор сможет задействовать прямые вызовы в обход полиморфизма. Поэтому, когда вы заявляете об эффективности - будьте аккуратны. В мире не существует делегата более эффективного, чем std::function. И когда я говорю "решение", то имею ввиду такое, которое укладывается в рамки заявленных требований. Сможете предложить проще? Что бы даже такой такой новичок, как вы смогли легко понять - отлично. Если не можете - тогда не тратьте время ни свое, ни людей. И кстати, когда я говорю, что решение может создать проблему - я всегда сообщаю, какие именно. Просто, что бы люди знали о возможных последствиях. У вас я вижу только новичковое "не осилил" Добавлено через 9 минут ТС об этом не сообщал. Но он так захотел. А значит решение должно предоставить такую возможность. Предоставьте решение, которое способно это позволить. Я посмотрю, как у вас это получится без делегатов.
0
|
|||||||
| 07.12.2014, 23:20 | |
|
Указатель на члены класса (pointer-to-member)
Описать члены-данных классов пользователя Объекты и экземпляры классов Указатель на массив указателей на объекты, передать в метод объекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|