Statyczna zmienna to taki zasób w pamięci który istnieje przez cały czas trwania programu, od początku aż do samego końca. Statyczne zmienne są definiowane w kodzie i następnie przetwarzane w specjalny sposób podczas kompilacji. Wymagają one zawsze aby ich typ był wyraźnie sprecyzowany.
Statyczny czas życia definiuje zasób który istnieje na czas nieokreślony, domyślnie aż do końca trwania programu. Zauważ, że taka definicja oznacza, że w niektórych sytuacjach będziemy w stanie stworzyć zasoby z takim czasem życia podczas wykonywania programu.
Aby przypisać zasobom statyczny czas życia musimy skorzystać ze specjalnego znacznika 'static
.
Zasoby oznaczone jako 'static
nigdy, tj. dopóki nasz program jest wykonywany, nie zostaną wypuszczone z pamięci.
Jeśli zasób o czasie życia 'static
zawiera referencje, wszystkie one muszą być również oznaczone jako 'static
(cokolwiek innego będzie po prostu żyć zbyt krótko).
Kilka szczegółów:
unsafe { ... }
w celu wykonania pewnych operacji wobec których kompilator nie jest w stanie zagwarantować bezpieczeństwa pamięci. Zajrzyj w R̸͉̟͈͔̄͛̾̇͜U̶͓͖͋̅Ṡ̴͉͇̃̉̀T̵̻̻͔̟͉́͆Ơ̷̥̟̳̓͝N̶̨̼̹̲͛Ö̵̝͉̖̏̾̔M̶̡̠̺̠̐͜Î̷̛͓̣̃̐̏C̸̥̤̭̏͛̎͜O̶̧͚͖͔̊͗̇͠N̸͇̰̏̏̽̃ jeśli chcesz zgłębić tajniki mniej bezpiecznego kodu.