Перейти к публикации
  • Сейчас на странице   Всего пользователей: 6   (0 пользователей, 6 гостей)

Rooster

Программирование[10]

Перепись  

313 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Я смотрел агитку на cppcon о том что если они сломают "abi compatibility" они могут пофиксить все это, больше ничего не помню с нее.
Но смысла от нее не вижу, один хрен ничего кардинального не сделают с говном которое уже в стандарте.
Так что ждем еще один способ инициализировать объект в 2022.

GoldRobot понравилось это

Поделиться сообщением


Ссылка на сообщение
besteady написал 4 минуты назад:

Дальше даже если отключить исключения, мы должны создавать временный объект для передачи по значению, дальше (глубоко вздыхаю), после добавления && к unique_ptr, мы изменяем calling conventions, добавляя ссылку на unique_ptr, потом мы выясняем, что unique_ptr вообще всегда медленнее, чем обычный указатель на минимум 2 инструкции, что бы мы не делали и вообще расстраиваемся, что стоимость умного указателя никогда не ноль.

Лол, что за бред? Какой временный объект? Просто передается ссылка на объект. Ну да, косвенная адресация, вместо прямой. Потом просто копирование одного указателя и обнуление прошлого. Из накладных расходов только косвенная адресация, ибо как-то пометить, что указатель освобожден тебе бы пришлось и без смартуказателей.

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 2 минуты назад:

Из накладных расходов только косвенная адресация

Спиймав!

Он типа об этом и пытается сказать, я так понимаю. Что мол прям НУЛЬ не бывает.

 

Хз правда что за область такая потная где нужно считать оверхед от юник птров. Толи земля вам пухом, толи наоборот завидно, интересные вещи делает.


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 2 минуты назад:
besteady написал 9 минут назад:

Дальше даже если отключить исключения, мы должны создавать временный объект для передачи по значению, дальше (глубоко вздыхаю), после добавления && к unique_ptr, мы изменяем calling conventions, добавляя ссылку на unique_ptr, потом мы выясняем, что unique_ptr вообще всегда медленнее, чем обычный указатель на минимум 2 инструкции, что бы мы не делали и вообще расстраиваемся, что стоимость умного указателя никогда не ноль.

Лол, что за бред? Какой временный объект? Просто передается ссылка на объект. Ну да, косвенная адресация, вместо прямой. Потом просто копирование одного указателя и обнуление прошлого. Из накладных расходов только косвенная адресация, ибо как-то пометить, что указатель освобожден тебе бы пришлось и без смартуказателей.

не понял что он написал точно и на что твоя критика
но выходя из функции, стандарт обязан вызвать дистракторы объектов в обратном порядке, значит unique_ptr который ты отправил в функцию как аргумент нихуя не зеро кост
как минимум один "conditional branch with jump" там будет (яхз как по русски).

Поделиться сообщением


Ссылка на сообщение
(изменено)
Grohuf написал 7 минут назад:

Просто передается ссылка на объект.

Речь про передачу по значению в функцию, а не по ссылке

Там не мувается напрямую*

image.png.f6df40076f4677f224be4cd99ea4d9ae.png


Изменено пользователем besteady

 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 3 минуты назад:
Grohuf написал 6 минут назад:

Из накладных расходов только косвенная адресация

Спиймав!

Он типа об этом и пытается сказать, я так понимаю. Что мол прям НУЛЬ не бывает.

 

Хз правда что за область такая потная где нужно считать оверхед от юник птров. Толи земля вам пухом, толи наоборот завидно, интересные вещи делает.

Да это писькомерство на пустом месте, никто тут вообще не пишет ничего где это действительно имеет значение в итоге.

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 2 минуты назад:
besteady написал 9 минут назад:

Дальше даже если отключить исключения, мы должны создавать временный объект для передачи по значению, дальше (глубоко вздыхаю), после добавления && к unique_ptr, мы изменяем calling conventions, добавляя ссылку на unique_ptr, потом мы выясняем, что unique_ptr вообще всегда медленнее, чем обычный указатель на минимум 2 инструкции, что бы мы не делали и вообще расстраиваемся, что стоимость умного указателя никогда не ноль.

Лол, что за бред? Какой временный объект? Просто передается ссылка на объект. Ну да, косвенная адресация, вместо прямой. Потом просто копирование одного указателя и обнуление прошлого. Из накладных расходов только косвенная адресация, ибо как-то пометить, что указатель освобожден тебе бы пришлось и без смартуказателей.

 

Ахахахах там вообще тупизна

 

Очевидно если ты не передаешь владение unique_ptr<int> i; то СЮРПРИЗ ты должен передовать i.get()

 

Бигно блять вау ВАУ ВАУ снова 0 оверхед если пользоваться грамотно


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Vova написал Только что:

Очевидно если ты не передаешь владение unique_ptr<int> i; то СЮРПРИЗ ты должен передовать i.get()

Ну раньше так и писали и горя не знали.

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 5 минут назад:

Хз правда что за область такая потная где нужно считать оверхед от юник птров. Толи земля вам пухом, толи наоборот завидно, интересные вещи делает.

Ну типо Grohuf постыдил E1azor, что он не знает, что умные указатели ноль для производительности, я на это ответил :nate:

Вообще многие вещи из stl переписываются на свои аналоги почти во всех компаниях. У Данларка где-то был список, не помню был ли там std::unique_ptr :hmm:

E1azor и DeadMage понравилось это

 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
besteady написал 5 минут назад:

Там не мувается напрямую*

 

ПОТОМУ ЧТО (!!!) ты передаешь владение ))))))))

 

А raw pointer этого не делает

 

Вау снова 0 cost получается


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Vova написал 2 минуты назад:
Grohuf написал 12 минут назад:
besteady написал 19 минут назад:

Дальше даже если отключить исключения, мы должны создавать временный объект для передачи по значению, дальше (глубоко вздыхаю), после добавления && к unique_ptr, мы изменяем calling conventions, добавляя ссылку на unique_ptr, потом мы выясняем, что unique_ptr вообще всегда медленнее, чем обычный указатель на минимум 2 инструкции, что бы мы не делали и вообще расстраиваемся, что стоимость умного указателя никогда не ноль.

Лол, что за бред? Какой временный объект? Просто передается ссылка на объект. Ну да, косвенная адресация, вместо прямой. Потом просто копирование одного указателя и обнуление прошлого. Из накладных расходов только косвенная адресация, ибо как-то пометить, что указатель освобожден тебе бы пришлось и без смартуказателей.

 

Ахахахах там вообще тупизна

 

Очевидно если ты не передаешь владение unique_ptr<int> i; то СЮРПРИЗ ты должен передовать i.get()

 

Бигно блять вау ВАУ ВАУ снова 0 оверхед если пользоваться грамотно

Эм, но речь про передачу владения...


 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
besteady написал Только что:
GoldRobot написал 9 минут назад:

Хз правда что за область такая потная где нужно считать оверхед от юник птров. Толи земля вам пухом, толи наоборот завидно, интересные вещи делает.

Ну типо Grohuf постыдил E1azor, что он не знает, что умные указатели ноль для производительности, я на это ответил :nate:

Вообще многие вещи из stl переписываются на свои аналоги почти во всех компаниях. У Данларка где-то был список, не помню был ли там std::unique_ptr :hmm:

 

Позволь мне объяснить как нужно писать

 

Смотри у тебя есть fun() которая вызывает eblan()

 

Ты пишешь

 

fun () {

auto i = make_unique<Bla>();

 

eblan(i.get());

 

}

 

Снова 0 zero ОООООО МОЙЙЙ БОГ

besteady написал 1 минуту назад:

Эм, но речь про передачу владения...

 

О что raw pointer умеет передавать владения 0 cost ?)))))))


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
besteady написал 5 минут назад:

Речь про передачу по значению в функцию, а не по ссылке

Там не мувается напрямую*

Я об этом и говорю. Ты передаешь параметр в мув конструктор. Как он получает аргумент? Как я это себе представляю - по указателю. То есть доступ к переменной, хранящейся в unique_ptr аргументе будет через косвенную адресацию.

Поделиться сообщением


Ссылка на сообщение
Vova написал 1 минуту назад:
besteady написал 7 минут назад:

Там не мувается напрямую*

 

ПОТОМУ ЧТО (!!!) ты передаешь владение ))))))))

 

А raw pointer этого не делает

 

Вау снова 0 cost получается

Ну мб ты не понял, но речь не о том, что иногда нужны юник_птр, иногда просто указатели

Ответ изначально был на 

"умные указатели ноль для производительности по сравнению с сырыми"

Понятно, что если тебе нужна логика юник_птра, то ты и с сырыми будет проделывать тоже самое только ручками


 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение

Вы вообще про разные вещи говорите блядь тут, совсем разные.
Или постите сорс по которому четко видно происходящее или идите нахуй.

Поделиться сообщением


Ссылка на сообщение
besteady написал 7 минут назад:

Ну типо Grohuf постыдил E1azor, что он не знает, что умные указатели ноль для производительности, я на это ответил :nate:

Ну про новомодную передачу через move я при этом не думал

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 1 минуту назад:
besteady написал 10 минут назад:

Речь про передачу по значению в функцию, а не по ссылке

Там не мувается напрямую*

Я об этом и говорю. Ты передаешь параметр в мув конструктор. Как он получает аргумент? Как я это себе представляю - по указателю. То есть доступ к переменной, хранящейся в unique_ptr аргументе будет через косвенную адресацию.

Ну тут должно быть и так понятно

У тебя она функция с юник_птром потухла. Передаешь ты по значению, а не ссылке. Где будет храниться значение потухшего юник_птра, чтобы потом функция получила его на вход? Ну где-то должно


 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
besteady написал 8 минут назад:

Ну типо Grohuf постыдил E1azor, что он не знает, что умные указатели ноль для производительности, я на это ответил :nate:

Ну типа это, просто зиро кост обычно имеется в виду в реальном приложении.

 

Vova написал 6 минут назад:

Снова 0 zero ОООООО МОЙЙЙ БОГ

 

Ну ваще не совсем зиро

 

https://godbolt.org/z/r1Mbc4sfW

https://godbolt.org/z/3qcbqsqhc


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
CriErr написал 4 минуты назад:

Вы вообще про разные вещи говорите блядь тут, совсем разные.
Или постите сорс по которому четко видно происходящее или идите нахуй.

Я ж сразу скинул :chel:

 


 

zqHT9JA.png

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение

 

 

О БОЖЕ ЭТОТ ДОЛБАЕБ ГОВОРИТ ПРО ЭКСЕПШЕН

 

НИХУЯ СЕБЕ

 

ЭКСЕПШЕН В ДЕСТРУКТОРЕ

 

НОУ ЩИТ ШЕРЛОК БЛЯТЬ

 

Это написано даже в https://isocpp.org/wiki/faq/exceptions#ctor-exceptions


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...