Читать книгу Ссылки и указатели в C++: от основ к безопасности и современному коду - - Страница 8
Игнорирование сегментов памяти и ручное управление без осторожности
ОглавлениеНовички часто игнорируют различия: выделяют огромные массивы на стеке (int arr[10000000];), вызывая stack overflow как впихивать мебель в лифт, пока он не сломается. Или возвращают адрес локальной переменной: int* func() { int x=5; return &x;} UB, данные "исчезнут". На куче: new без delete утечки, программа "раздувается" со временем. Глобальные переменные везде "спагетти-код", трудно отлаживать. Ещё: смешивание malloc/free с new/delete, что ломает конструкторы/деструкторы.