Russian Qt Forum

Программирование => С/C++ => Тема начата: PavelVX от Сентябрь 21, 2011, 06:09



Название: Пара вопросов новичка на понимание с++
Отправлено: PavelVX от Сентябрь 21, 2011, 06:09
1.
Код:
        QDialog dlg;
        QComboBox * comboUser = new QComboBox(&dlg);
Если я создаю класс в стеке(dlg), то он у меня унитожится и вернет выделенную память, при выходе из стека. Но правильно ли я понимаю, что и comboUser тоже при этом уничтожится и вернет память?
2. Есть как минимум два режима сборки приложения: debug/релиз. Как мне ifdef-ами сделать так, что бы при сборке дебаг переменная имела одно значение, а при сборке релиз другое?


Название: Re: Пара вопросов новичка на понимание с++
Отправлено: Пантер от Сентябрь 21, 2011, 07:17
1. Да. Ты указал ему родителя.
2. #ifdef QT_DEBUG


Название: Re: Пара вопросов новичка на понимание с++
Отправлено: PavelVX от Сентябрь 21, 2011, 08:20
спасибо!


Название: Re: Пара вопросов новичка на понимание с++
Отправлено: lit-uriy от Сентябрь 21, 2011, 10:09
PavelVX по первому вопросу важное замечание:
оно не относится к Си++, относится только к Qt. Именно в Qt реализован механизм родители-дети. И при уничтожении родителя его дети также уничтожаются.