Блок-область видимости переменных явно не объявлены static, thread_localили extern есть automatic storage duration. Хранилище для этих сущностей длится до тех пор, пока блок, в котором они созданы, не завершится.
Если переменная с автоматической продолжительностью хранения имеет инициализацию или деструктор с побочными эффектами, реализация не должна уничтожать ее до конца своего блока или исключать ее как оптимизацию, даже если она кажется неиспользуемой, за исключением того, что объект класса или его копирование / перемещение может быть удалено, как указано в [class.copy].