двухшаговая инициализация
|
|
Среда, 05 Августа 2020 г. 18:38
+ в цитатник
JoeUser:
ЫукпШ, не не не ... тут еще есть одна сторона вопроса. Вот ты спроси Килю "что ты больше всего любишь в своей жизни?". Он тебе ответит - RAII. Кстати - смарт-поинтеры из того же балета "Леблядиное Озеро". Да идея - супер, да удобно использование. Но не нужно расслабляться, ибо есть еще одна неприятная сторона жысти и программирования. Есть "нестабильные" ресурсы. Объясняю на пальцах...
1) Запилили в RAII обертку указатель на выделенную память - супер, и нет проблем
2) Запилили в RAII обертку хендл на файл, вроде все пучком. Одна незадача - файл оказался сетевым, и дворник обоссал маршрутизатор
Вот второй вариант, когда ресурсы могут менять свое состояние по внешним факторам - тут засада. Да, можно попытаться бороться (типа запилить коллбэк на разрыв сети), но не всегда это доступно в юзер-моде.
Вывод: как RAII, так и смарт-поинтерами нужно пользоваться с оглядкой на ситуацию и прогнозы. Они замечательны - но не панацея от всех бед!
https://forum.sources.ru/index.php?showtopic=419313&view=findpost&p=3835848
Метки:
C/C++:
Общие вопросы
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-