Название: [Решено]Умный указатель на член класса Отправлено: Sancho_s_rancho от Август 03, 2010, 09:22 В статье http://www.codeproject.com/KB/stl/boostsmartptr.aspx (http://www.codeproject.com/KB/stl/boostsmartptr.aspx) рекомендуется использовать Scoped Pointer для автоматического уничтожения членов класса. Как же это можно сделать, если у него даже оператора "=" нет?
В заголовочном файле можем написать QScopedPointer<MyClass> p, и что делать далее? Название: Re: Умный указатель на член класса Отправлено: BRE от Август 03, 2010, 09:56 Инициализировать в конструкторе, также есть метод:
void QScopedPointer::swap ( QScopedPointer<T, Cleanup> & other ) Название: Re: Умный указатель на член класса Отправлено: Sancho_s_rancho от Август 03, 2010, 10:30 Инициализировать в конструкторе, также есть метод: QScopedPointer::swap я и не разглядел. Спасибоvoid QScopedPointer::swap ( QScopedPointer<T, Cleanup> & other ) Название: Re: Умный указатель на член класса Отправлено: SABROG от Август 03, 2010, 10:50 Обычно используется метод reset().
Название: Re: Умный указатель на член класса Отправлено: Sancho_s_rancho от Август 03, 2010, 10:55 Обычно используется метод reset(). Черт, мне уже стыдно. Не люблю тех, кто не читает документацию и спрашивает всякую фигню, а сам поступил так же.Название: Re: Умный указатель на член класса Отправлено: blood_shadow от Август 11, 2010, 19:28 Инициализировать в конструкторе, также есть метод: Вопрос про умный указатель - void QScopedPointer::swap ( QScopedPointer<T, Cleanup> & other ) есть метод Код: void val::runString_value() const Спасибо Название: Re: [Решено]Умный указатель на член класса Отправлено: Авварон от Август 11, 2010, 19:31 connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
process, SLOT(deleteLater())); Название: Re: [Решено]Умный указатель на член класса Отправлено: blood_shadow от Август 11, 2010, 19:43 connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), Спасибо, получилось :), то есть кругом можно обойтись и без этого "умного указателя"? или все же есть ситуации где без него никак?process, SLOT(deleteLater())); Название: Re: [Решено]Умный указатель на член класса Отправлено: Авварон от Август 11, 2010, 19:51 а хрен знает, никогда не использовал)
по идее только для удобства/уменьшения ошибок Название: Re: [Решено]Умный указатель на член класса Отправлено: blood_shadow от Август 11, 2010, 20:00 а хрен знает, никогда не использовал) Благо в Qt усть механизм сигнал-слот, мне спадает на мысль что это в других фреймворках уместно :)по идее только для удобства/уменьшения ошибок Название: Re: [Решено]Умный указатель на член класса Отправлено: Авварон от Август 11, 2010, 20:04 не, ну через делет лейтер объект будет удален только когда управление попадет только на следующий виток цикла событий...
иногда это нежелательно |