Re[2]: Про указатели в Qt - нравится ли вам?
От: AlexGin Беларусь  
Дата: 04.10.23 23:40
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>
SP>void addLabelToLayout(QLayout& layout) {
SP>    layout.addWidget(new QLabel("my label"));
SP>}

SP>void addLabelToLayout(QLayout& layout) {
SP>    QLabel l = QLabel("my label");
SP>    layout.addWidget(&l);
SP>}
SP>


Первый вариант — выглядит вполне корректно и логично (как для C++, так и для Qt).
Второй вариант — выглядит стрёмно: сохранили адрес локальной (стековой) переменной.
Он, как и сама переменная, потеряет смысл после выхода из метода (функции).

SP>C точки зрения С++, первое — явная ересь с утечкой памяти и следует предпочесть второй путь,


Почему же?
Адрес объекта в куче сохранён в коллекции.
Что не так?
Что мешает впоследствии удалить этот объект?

SP>Подытоживая, сейчас парадигма Qt выглядит неправильно.


Она и сейчас весьма актуальна, просто появились новые инструменты (прежде всего — для GUI developing).
Отредактировано 05.10.2023 0:07 AlexGin . Предыдущая версия . Еще …
Отредактировано 04.10.2023 23:42 AlexGin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.