Войти
ФлеймФорумПрограммирование

Список модных прог в которых shared_ptr и weak_ptr и unordered_map хорошо зашли

Страницы: 1 2 316 17 Следующая »
#0
15:33, 17 авг. 2017

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


#1
16:01, 17 авг. 2017

Неосилил чтоли?
Везде они используются и все нормальные конторы код которых я видел использую обертки вокруг указателей. Потому что не хотят проблем с криворукими джуниорами, которые не способны следить за временем жизни.

#2
16:42, 17 авг. 2017

@!!ex
> Неосилил чтоли?
было кучу раз, что вот пишу код и смотрю, а вот тут можно использовать что-то из сабжевой тройки, но потом присматриваюсь - а нет, это будет костылём, а не нормальным решением. И делаю там либо просто std::vector, либо дерево из std::vector`ов. И всё идёт как по маслу.

@!!ex
> обертки вокруг указателей
если обертки свои и используются удачно, а не как костыль, то это хорошо, но зачем про них упоминать в этой теме, где обсуждаются вещи которые обычно похоже годятся только для костылей?

@!!ex
> Потому что не хотят проблем с криворукими джуниорами, которые не способны
> следить за временем жизни.
ну, ок, предположим я поверю что в конторах с криворукими джуниорами shared_ptr/weak_ptr/unordered_map хорошо заходят.

/сарказм

А как насчёт проектов которые недоступны для криворуких? Ну то есть такие где плохой код от криворуких никогда не попадёт на code-review к главному maintainer`ну и в центральный репозиторий?

#3
16:47, 17 авг. 2017

Adler
> А как насчёт проектов которые недоступны для криворуких? Ну то есть такие где
> плохой код от криворуких никогда не попадёт на code-review к главному
> maintainer`ну и в центральный репозиторий?

Криворуки в той или иной степени все. Идеальный код без ошибок пишут только эльфы и только в сказках.

#4
17:00, 17 авг. 2017

Adler
> И делаю там либо просто std::vector, либо дерево из std::vector`ов.
А почему бы и нет?

#5
17:04, 17 авг. 2017

Adler
> А как насчёт проектов которые недоступны для криворуких?
Unreal Engine?

#6
17:39, 17 авг. 2017

@!!ex
> все нормальные конторы код которых я видел
Звучит как "все нормальные телки, кал которых я нюхал".

#7
18:08, 17 авг. 2017

Adler
> где обсуждаются вещи которые обычно похоже годятся только для костылей?
как вы расшариваете ресурсы?
как следите за временем жизни расшаренных ресурсов?

#8
18:11, 17 авг. 2017

beejah
> Звучит как "все нормальные телки, кал которых я нюхал".
Заинтриговал, продолжай...

#9
20:10, 17 авг. 2017

> shared_ptr и weak_ptr
> просто std::vector
Казалось бы - какая тут вообще связь? Ау? )))

#10
20:27, 17 авг. 2017

https://github.com/alembic/alembic

#11
21:13, 17 авг. 2017

slava_mib
> Казалось бы - какая тут вообще связь?
связь слабая, да.

если использовать shared_ptr как универсальный unique_ptr c надеждой на будущий шаринг, который где-то далеко за горизонтом и возможно никогда не настанет, то можно послать этот шаринг лесом и воткнуть unique_ptr.
к unique_ptr у меня тоже есть вопросы, но суть в том, что его всегда можно заменить на std::vector. // в случае полиморфных, но известных на этапе компиляции типов использовать специальный трюк, для неизвестных тот же трюк через кодоген во время выполнения.
к неизвестным на этапе компиляции типам у меня тоже есть вопросы // а это не костыль?
к шарингу у меня никаких вопросов нет. // шаринг - это всегда костыль, нормальное решение - это либо дублирование, либо когда есть локальный центральный владелец/хранилище и куча аналогов weak_ptr.
к weak_ptr у меня никаких вопросов нет. // - говно завязанное на shared_ptr, но идея отличная и аналоги weak_ptr - добро.

+ трюк такой:

slava_mib
> Ау? )))
А теперь?

Kartonagnick
> как вы расшариваете ресурсы?
multiple owners - это костыль. multiple users - нет.

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

Kartonagnick
>как следите за временем жизни расшаренных ресурсов?
если нет сырых владеющих не обёрнутых указателей и нет multiple owners, то откуда им взяться?

#12
21:22, 17 авг. 2017

Adler
> то можно начинать страдать по всякому
ясно.

#13
23:22, 17 авг. 2017

Adler
> не надо шарить, надо дублировать до тех пор пока не начнутся проблемы с
> производительностью/живучестью, а когда начнутся, то можно начинать страдать по
> всякому - как вариант сделать локальный центральный владелец/хранилище.
Ясно. Посоветую устроиться на работу и посмотреть, как пишут нормальные люди. А еще понять, что подобный говнокод не пройдет ни одно нормальное ревью.

#14
0:41, 18 авг. 2017
Спасибо, мы вам перезвоним.
Страницы: 1 2 316 17 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.