ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
649682 Топик полностью
LightElf (29.01.2016 12:24, просмотров: 85) ответил =L.A.= на Расскажите поподробней о мощах этой "штуки".
Мощь - в удобстве: автоматическое освобождение при выходе из функции, thread-safety и все такое. Минус в полном отсутствии обработки ошибочных ситуаций и очень большой зависимости от реализации в компиляторе. В конкретном примере для определения размера массива используется глобальная переменная. Это редкий ад. В какой момент она меняется? Массив в этот момент уже создан или как? Далее, сколько реально будет выделено памяти на стеке - непонятно. Умный компилятор поймет, что из выделенного массива используется всего один элемент и, вообще-то, может выделить только один этот элемент + требуемое выравнивание стека. Менее умный/оптимизирующий компилятор выделит полный размер. Вот и получится, что работоспособность программы зависит от процессора, версии компайлера, режима компиляции, и т.д.
Не надо делать мне как лучше, оставьте мне как хорошо