В классе My имеются символьные массивы в стеке.Далее символьная строка (тип char) присваивается QString.КодC++ (Qt)char buffer[2048];char bufLoad[1024];char bufBig[1024 * 200];QString str = QString(*buffer);Как известно, существует опасность падения программы(на 20-й раз, 30-й, ...), поскольку строки большие > 200 КБ, пару строк и достигли 1MБ (предел для стека).Рекомендуют больше 1 КБ в стек не ложить.Решил в классе My выделить память в куче (т.е. создать динамические массивы).КодC++ (Qt)char *s;s = new char[1024 * 200];Уже лучше и риск меньше !Вопросы:1) Строка (тип QString) увеличивает память в стеке ?2) Под эту строку тоже отводится 200K, есть ли тут риск ?
|