|
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144
|
|
Умные указатели. У кого есть опыт использования?07.07.2019, 18:14. Показов 7587. Ответов 68
Метки нет (Все метки)
Пытаюсь понять пользу ”Умных указателей”
std::unique_ptr , std::shared_ptr, std::weak_ptr, std::scoped_ptr Принцип их работы кое как уяснил. Смущает, что технология остается “рискованной” и требует дополнительных знаний внутренностей. На фоне всех этих сложностей, какова польза “умных” указателей? Интересует не теория, а именно опыт применения.
0
|
|
| 07.07.2019, 18:14 | |
|
Ответы с готовыми решениями:
68
У кого есть опыт использования C++ Builder XE2, поделитесь впечатлениями (отзывы) - FireMonkey Стук на продажные ссылки - у кого есть опыт? Есть ли у кого опыт по написанию демона по linux |
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2019, 11:54 | ||
|
1
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 08.07.2019, 12:37 | |||
|
А с обнулением/вычисткой из контейнеров при принудительном удалении - ну это уже к кастомным двунаправленным смартам. Но там сырые религия тем более не позволяет. Добавлено через 16 минут Но только не надо путать саму концепцию с искоробочными смартами stl, которые есть всего лишь одной из возможных реализаций концепции. При этом stl-реализация для ООП годится не очень - то же отсутсвие поддержки принудительного удаления и та же перевернутая по сравнению с композицией концепция владения что и у GC. И появились смарты по подобной схеме в stl именно после того как те кому моск изнасиловали явой начали попадать на первый курс. А до этого они нафиг никому не нужны были. Потому что концепция подразумевает их абсолютную кастомизируемость под задачу.
1
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||||||
| 08.07.2019, 12:46 | |||||||
|
Artem_Pv,
вот вам еще пример
сразу скажу что ловить исключение в f нельзя Добавлено через 1 минуту но по задаче это нам не подходит
0
|
|||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 08.07.2019, 12:54 | ||
|
просто я задал ему вопрос что бы он подумал и пришел к тому что тут реальная выгода от использования смарт поинтера т.е я не призывал делать так на практике
0
|
||
|
Неэпический
|
|
| 08.07.2019, 12:58 | |
|
Undisputed, ну потому что задача сводится не к пользе умных указателей.
В общем задача звучит так - вот какой хороший умный указатель, повтори без него, но при этом запрещено использовать другие средства.
1
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 08.07.2019, 12:58 | |||
Java на тот период еще пешком под стол ходил.При этом реализация, которая представлена в boost, использует (естественно с доработками) предложенную реализацию в 1994 Грегом Колвином.
Поэтому я просто прошу вас давать факты, а не домыслы.
2
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 08.07.2019, 12:59 | |
|
del
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||||||
| 08.07.2019, 13:04 | ||||||||
![]() если бы он взялся то за решение то он мог бы например прислать что-то такое:
чем не еще один use case? и пример с эксепшеном у него тоже был просто я преподнес ТС это в виде задачи что бы он поразмыслил сам а не зубрил все что ему напишут помоему так лучше понять и запомнить материал
0
|
||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2019, 13:06 | ||
|
0
|
||
|
Неэпический
|
||||||||
| 08.07.2019, 13:08 | ||||||||
![]()
Не по теме: К слову, если код не ловит исключений, и оно вылетит из main, то деструкторы могут и не вызваться.
1
|
||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2019, 13:09 | ||
|
1
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 08.07.2019, 13:10 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 08.07.2019, 13:11 | ||
![]() может же быть случай когда нам надо поймать этот эксепшен за пределами этой функции скажем если функция бросает разные исключения в трех разных кейсах которые происходят в функции и в зависимости от исключения на вызывающей стороны мы должны принять разные меры P.S в своем примере в мейне забыл обернуть вызов функции в трай кетч
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 08.07.2019, 13:12 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 08.07.2019, 13:21 | |
|
Croessmah,
и еще твой код отсюда Умные указатели. У кого есть опыт использования? будет с утечкой памяти если не будет исключения
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 08.07.2019, 13:23 | |
|
DrOffset, мало того есть еще один аспект который мог очень значительно повлиять в пользу решения о внесении их в стандартуню библиотеку. А именно многоядерные процы. В мультипоточной среде счетчики ссылок у shared_ptr и weak_ptr должны быть атомарными. А атомарный счетчик - штука платформозависимая. Ну а первейшая задача стандартной библиотеки - сокрытие деталей аппаратной реализации.
1
|
|
|
Неэпический
|
|
| 08.07.2019, 13:25 | |
|
0
|
|
| 08.07.2019, 13:25 | |
|
У кого есть опыт неудачной прошивки видеокарт? У кого есть опыт портирования прошивки cyanogenmod ? У кого есть опыт работы с gsm.dll? У кого есть опыт работы с шилдом на основе TB6612FNG paypal, есть у кого нибудь опыт работы с ipn ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|