sladkoejka (06.07.2018 16:30, просмотров: 483) ответил Bhg2 на Кстати, еще есть небольшое уточнение :
volatile указатель - это для компилятора данные. Инициализация такого указателя требует модификации данных. А если указатель помечен как volatile, то компилятор ограничен в выводах может ли такая модификация на чтото повлиять или не может. Поэтому многие компиляторы в таком случае стараются оставить код. Лучше перебдеть, чем недобдеть :)
Но если не привлекать какие-то сущности, вроде изменения ячейки памяти космическими лучами, то строго говоря любая локальная переменная никому кроме самой функции не доступна. Поэтому если функцию можно удалить, то модификатор volatile для локальной переменной не является для этого препятствием. Такое удаление ни на что не повлияет.