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

Ку, это нормальная практика делать из unique_ptr shared ? у

меня есть функция и она возвращает unique_ptr, но функция слишком общая и юзается много где и где то его результат должен идти как shared и передаваться в другое место.

7 ответов

21 просмотр

А что смущает? Конструктор это позволяет: template< class Y, class Deleter > shared_ptr( std::unique_ptr<Y, Deleter>&& r );

главное делать это не ручками забирая указатель

Kona-Kona Автор вопроса
Anatoly Shirokov
А что смущает? Конструктор это позволяет: template...

на стековерфлоу ругаются просто. Be aware that while not allowed the compiler (at least not gcc) will actually not prevent (or even warn) if you accidentally (e.g. by changing the pointer type of a member variable) assign a std::unique_ptr to a std::shared_ptr.

Kona-Kona Автор вопроса
Anatoly Shirokov
К чему это?

https://stackoverflow.com/questions/37884728/does-c11-unique-ptr-and-shared-ptr-able-to-convert-to-each-others-type К этому std::shared_ptr<std::string> shared = std::make_unique<std::string>("test");

Kona Kona
на стековерфлоу ругаются просто. Be aware that wh...

Тут просто предупреждают, что неявный каст unique в shared может не выкинуться в warning и ты его не увидишь при компиляции, но если ты знаешь, что ты намеренно делаешь из unique shared, то все норм.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта