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.