static
Statik değişkenler programın tüm yürütmesi (execution) boyunca yaşayacak ve bu nedenle taşınmayacaklar:
static BANNER: &str = "RustOS 3.14'e Hoş Geldiniz"; fn main() { println!("{BANNER}"); }
Rust RFC Kitabında belirtildiği gibi, statik kullanımı satır içi (inline) özelliği vermez ve gerçek bir ilişkili bellek konumuna sahiptir. Bu, emniyetsiz ve gömülü kod için yararlıdır ve değişken, program yürütmesinin tamamı boyunca yaşar. Global kapsamlı (globally-scoped) bir değerin nesne kimliğine ihtiyaç duyması için bir nedeni olmadığında, genellikle const
tercih edilir.
This slide should take about 5 minutes.
statik
, C++'daki değişebilir olan global değişkenlere benzer.static
,Mutex<T>
gibi iç değişebilirliğe sahip türlerin gerektirdiği şekilde bellekteki bir adres ve durumu nesneye kimlik olarak sağlar.
Daha Fazlasını Keşfedin
Çünkü static
değişkenlere herhangi bir iş parçacığından erişilebildiğinden, bunların Sync
olması gerekir. İç değişebilirlik Mutex
, atomik veya benzer yöntemlerle mümkündür.
İş parçacığı için yerel (thread-local) veriler std::thread_local
makrosu ile oluşturulabilir.