Доброго времени суток
При работе с QT возникла следующая проблема.
Создан объект типа QStandardItemModel. Добавление элементов:
QString text = "Node 1";
QStandardItem* item = new QStandardItem();
item->setText( text );
model->appendRow( item ); // model - объект типа QStandardItemModel
При удалении соответствющего элемента возникает ошибка работы с памятью. Работает без ошибок только так:
QString* text = new QString( "Node 1" );
QStandardItem* item = new QStandardItem();
item->setText( *text );
model->appendRow( item );
Таким образом добавленный элемент удаляется нормально. Правильно ли писать таким образом? Если правильно, то откуда я могу знать, что строка должна быть создана динамически, если нет - то как правильно?
При работе подобные вещи возникают постоянно - при динамически созданной переменной типа QString или QVariant работает нормально, при статически созданной - ошибки. При работе с QWidget понятно, что переменные нужно создавать динамически, т. к. "Parent" будет пытаться их удалить, а в случаях подобных этому?
Разъясните пожалуйста... Qt начал использовать относительно недавно. Очень много времени уходит на отладку