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

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

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

14 ответов

45 просмотров

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

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) с этим я польностью согласен.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта