LINUX.ORG.RU

Ответ на: комментарий от DllMain

Жаль список релевантных тем выводиться после создания темы… Решение найдено - list<unique_ptr> lst; Даже текущий код менять не надо :)

zanac1 ()
Ответ на: комментарий от Kuzy

Сейчас список содержит массив указателей, которые надо удалять ручками, а если ещё и исключение выскочит - память пока-пока. А умный указатель как раз решает задачу.

zanac1 ()
Ответ на: комментарий от Kuzy

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

zanac1 ()
Ответ на: комментарий от zanac1

городить RAII

Ну, во-первых, unique_ptr - это вполне себе RAII, во-вторых, у тебя C++, или собачий хер? RAII - это как раз c++-way.

В-третьих, почему меня не кастануло по Тэгу? Ты как дебил тэг кириллицей написал?

DELIRIUM ☆☆☆☆☆ ()
Последнее исправление: DELIRIUM (всего исправлений: 1 )
Ответ на: комментарий от DllMain

Чёто лень. Пожалуй, я применю принцип советского лыжника =)

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от zanac1

И как мне инициализировать этот элемент с помощью нетривиального конструктора? а если таких конструкторов несколько?

emplace, emplace_back и прочие.

И да, нужно же вернуть память даже если выскочило исключение. городить RAII?

Когда ты удаляешь элемент из списка, она освобождается.

Kuzy ★★★ ()
Ответ на: комментарий от zanac1

list<unique_ptr<MyClass*>> lst;

MyClass*

*

Что за дичь ты несёшь?

ox55ff ★★★★★ ()
Ответ на: комментарий от ox55ff

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

Отец Аристоклий

anonymous ()

Читая подобную херню мне кажется, что это специальная рота сектантов, которая десантируется по форумам и начинает нести эту чушь.

anonymous ()
Ответ на: комментарий от DELIRIUM

чёй-то не будет? память, выделенная на сами указатели вполне себе освободится

next_time ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.