Нет.Суть static
в том, что он статический: он имеет фиксированный адрес в памяти и не может быть перемещен оттуда.Как следствие, каждый может свободно ссылаться на этот объект, потому что он гарантированно будет там, пока выполняется программа.Вот почему вы можете использовать static
в виде &'static
-референции и никогда не можете претендовать на владение.
Кроме того, делать это с целью сохранения памяти бессмысленно: объект запекаетсяв исполняемый файл и отображается в памяти при доступе.Все, что может случиться, - это то, что ОС освободит память mapping .Тем не менее, поскольку память никогда не выделяется из кучи, во-первых, сохранения не будет.
Единственное, что вы могли сделать, - это заменить объект небезопасным изменяемымдоступ.Это и опасно (поскольку компилятор может предполагать, что объект на самом деле не изменяется) и бессмысленно из-за того, что память не может быть освобождена, поскольку она является частью отображения памяти исполняемого файла.