170 похожих чатов

А что делать с исходным unique_ptr, откуда мы переместили владение,

если даункаст не прошёл?

14 ответов

10 просмотров

не перемещать владение, если даункаст не прошёл, очевидно

Alexey Petrunyaka
не перемещать владение, если даункаст не прошёл, о...

Вообще передавать владения лучше через мув а мув с разными типами указателей не пройдёт

Ilya Zviagin
Вообще передавать владения лучше через мув а мув с...

Такой мув с даункастом просто самому писать надо.

Alexey Petrunyaka
Такой мув с даункастом просто самому писать надо.

Вообще откуда идея одновременно и мувать и даункастить?

Ilya Zviagin
Вообще откуда идея одновременно и мувать и даункас...

Ну а как иначе передать владение на унаследованный класс, а не на базовый?

Alexey Petrunyaka
Ну а как иначе передать владение на унаследованный...

А зачем вот вопрос владение оно не зависит от того на какой тип указатель указывает

Ilya Zviagin
А зачем вот вопрос владение оно не зависит от того...

Например, чтобы все вызовы у нового владельца перестали быть виртуальными.

А зачем?

Ilya Zviagin
А зачем?

Для более быстрой работы, очевидно же. Нет косвенных вызовов через VMT, компилятор может их вообще заинлайнить и/или дополнительно оптимизировать.

Alexey Petrunyaka
Для более быстрой работы, очевидно же. Нет косвенн...

Да это сказки что виртуальная функция называется быстрее чем не виртуальная

Alexey Petrunyaka
Для более быстрой работы, очевидно же. Нет косвенн...

А ты городишь чушь на ходу придумывая всякую хрень это не нужно вообще было изначально никому А ты придумал ответ на вопрос и пытаешься подогнать к этому какие-то требования

Ilya Zviagin
А ты городишь чушь на ходу придумывая всякую хрень...

Если человек захотел зачем-то сделать dynamic_cast, а не просто звать виртуальные функции, значит ему это зачем-то было нужно? Мое предположение вполне логично: зная о конкретном наследнике, с ним можно работать 1) быстрее 2) пользоваться функциями, которых нет у предка.

Alexey Petrunyaka
Если человек захотел зачем-то сделать dynamic_cast...

1) быстрее?) бенчи делали? Смотрели насколько быстрее? 2) пользоваться функциями, которых нет у предков - очень странно, тогда надо сразу работать с данным типом, а не хранить указатель на предка))

Till Schneider
1) быстрее?) бенчи делали? Смотрели насколько быст...

1) я знаю, что разница невелика, но она есть, и на больших количествах обрабатываемых объектов с короткими виртуальными функциями становится ощутимой. 2) с этим я польностью согласен.

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
22
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта