Здравствуйте, Shmj, Вы писали:
S>Вот, в QT QObject имеет свою парадигму управления памятью, без использования вумных указателей. Правильно ли это с вашей точки зрения?
в Qt чувствуется влияние Java. Всё есть указатель, наследование от одного объекта, подобие сборки мусора. На момент создания это было нормально. До 11 года многие держали в векторе только указатели. Иначе resize бил по производительности. А вот после 11, ситуация немного поменялась. Теперь держать указатели в векторе без необходимости считается дурным тоном. И вообще С++ всё больше подталкивает не использовать указатели вовсе. А Qt не поменялся. Собственно это различие раздражает.
void addLabelToLayout(QLayout& layout) {
layout.addWidget(new QLabel("my label"));
}
void addLabelToLayout(QLayout& layout) {
QLabel l = QLabel("my label");
layout.addWidget(&l);
}
C точки зрения С++, первое — явная ересь с утечкой памяти и следует предпочесть второй путь, а с точки зрения Qt всё ровно наоборот.
Подытоживая, сейчас парадигма Qt выглядит неправильно.