6 Basic concepts [basic]

6.7 Storage duration [basic.stc]

6.7.3 Automatic storage duration [basic.stc.auto]

Блок-область видимости переменных явно не объявлены static, thread_­localили extern есть automatic storage duration. Хранилище для этих сущностей длится до тех пор, пока блок, в котором они созданы, не завершится.

[ Note: Эти переменные инициализируются и уничтожаются, как описано в [stmt.dcl]. ]end note

Если переменная с автоматической продолжительностью хранения имеет инициализацию или деструктор с побочными эффектами, реализация не должна уничтожать ее до конца своего блока или исключать ее как оптимизацию, даже если она кажется неиспользуемой, за исключением того, что объект класса или его копирование / перемещение может быть удалено, как указано в [class.copy].