Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vld2 от Июнь 10, 2009, 20:27



Название: Кто должен удалять память в QTableWidget для item-ов?
Отправлено: Vld2 от Июнь 10, 2009, 20:27
Если таблица QTableWidget размера 3 на 3, для каждого item выделяем память new QTableWidgetItem
потом вызываем функцию removeRow(0)
нужно ли удалять память (вызывать delete) для item-ов из первой строки?


Название: Re: Кто должен удалять память в QTableWidget для item-ов?
Отправлено: lit-uriy от Июнь 10, 2009, 20:30
Т.к. явно неуказано, в описании функции, что нужно самому удалять. Значит не нужно.


Название: Re: Кто должен удалять память в QTableWidget для item-ов?
Отправлено: pastor от Июнь 10, 2009, 20:32
нужно ли удалять память (вызывать delete) для item-ов из первой строки?

нет. Для ясности картины загляни в исходники QTableWidget


Название: Re: Кто должен удалять память в QTableWidget для item-ов?
Отправлено: spectre71 от Июнь 10, 2009, 20:34
Т.к. явно неуказано, в описании функции, что нужно самому удалять. Значит не нужно.
Смешно :D
Я бы сказал наоборот!  ;D


Название: Re: Кто должен удалять память в QTableWidget для item-ов?
Отправлено: lit-uriy от Июнь 10, 2009, 20:41
В Qt, в описаниях делают оговорки, когда теряются родительско-дочерние связи. В других случаях их не делают.

Цитировать
QTableWidgetItem * QTableWidget::takeItem ( int row, int column )

Removes the item at row and column from the table without deleting it.