static const
- C++ kursu
- Orta seviye
- Ders 32/116
- 5 dk
static const ile sınıf sabitleri tanımlamayı öğrenirsin.
static const
Bir static const üye, sınıf düzeyinde değiştirilemez bir sabittir. Tam sayı türündeki (int, char, bool) static const üyeler sınıf gövdesinde doğrudan ilklendirilebilir.
Örnek: static const int MAX = 100;. Bu, ayrı bir dış tanım gerektirmez. Daha karmaşık türler için dış tanım gerekir. static const üyeler derleme zamanı sabiti olarak kullanılabilir: dizi boyutu veya case etiketi olarak. Değer sonradan değiştirilemez; bu yüzden yapılandırma sabitleri için uygundur.
static const kullanımı
static const üyeler derleme zamanı sabiti olduğu için dizi boyutu olarak kullanılabilir: int data[MAX];. Bu, çalışma zamanı değişmeyecek değerler için idealdir.
Örneğin bir Config sınıfında static const int MAX_USERS = 50; tanımlayıp int users[MAX_USERS]; yazabilirsin. Daha modern C++'ta constexpr de kullanılabilir, ancak static const hâlâ yaygın ve uyumludur. Sabitin değiştirilemeyeceğini garanti eder.
Uygulama Config sınıfına static const ekle
Config sınıfını tanımla. public: altına static const int MAX = 5; ekle. main içinde int data[Config::MAX]; ile dizi tanımla ve std::cout << Config::MAX; yaz.
Başlangıç kodu
#include <iostream>
// Config sınıfını tanımla
int main() {
// Sabit ile dizi oluştur ve değeri yazdır
return 0;
}Örnek çözüm
#include <iostream>
class Config {
public:
static const int MAX = 5;
};
int main() {
int data[Config::MAX];
std::cout << Config::MAX;
return 0;
}Beklenen çıktı
5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi sınıf içinde ilklendirilebilir?
class Config { ??? };- static int max = 100;
- static const int MAX = 100; Doğru cevap
- const int max;
- int max = 100;
Açıklama: static const tam sayı sınıf içinde ilklendirilebilir.
2 Bildirimi türüne eşle
| Kavram | Anlamı |
|---|---|
static const int MAX = 100; |
Sınıf içi sabit |
MAX |
Derleme zamanı sabiti |
static int count; |
Değiştirilebilir |
const int x; |
Örnek sabiti |
3 Sabitin değerini tamamla
class Config { public: static const int MAX = ____; };
class Config { public: static const int MAX = 100; };
Açıklama: Tam sayı sabiti 100 değerini alır.