Мне интересно, помещает ли Qt такие вещи, как "версия 1" приведенного ниже кода в кучу?В версии 1, будет ли dirStuff помещаться в стек или кучу Qt?Я спрашиваю, потому что у меня есть ощущение, что Java помещает все структуры данных в кучу ... Не уверен, потому что я не помню, чтобы мне приходилось думать об этом с Java.
версия 1
QFileInfoList dirStuff = dir.entryInfoList(QDir::Dirs | QDir::Files |
QDir::NoDotAndDotDot | QDir::System | QDir::Hidden);
версия 2
QFileInfoList * dirStuff = new QFileInfoList();
*dirStuff = dir->entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot |
QDir::System | QDir::Hidden);
Конечно, я предполагаю, что версия 2 находится в куче, но мне интересно, если ...
delete dirStuff;
будетдействительно очистите "версию 2" от dirStuff, потому что это не обычный объект, а, вероятно, связанный список.Очистка, которая, на мой взгляд, может быть проблематичной, поэтому мне интересно, есть ли какой-то особенный способ Qt, которым я должен очищать структуру данных Qt, например QFileInfoList
в куче ... или если обычное старое удаление C ++это достаточно хорошо.