CodeBlanks Logo Icon CodeBlanks

constexpr değişken

constexpr değişken ile derleme zamanı sabit öğrenirsin.

constexpr değişken

constexpr anahtar kelimesi bir değişkenin değerinin derleme zamanında hesaplanabileceğini bildirir. Örnek: constexpr int monthsPerYear = 12;. Derleyici bu değeri derleme zamanında bilir; çalıştırılabilir dosyaya hazır bir sabit olarak gömer.

Bu sabitleri başka constexpr ifadelerde kullanabilirsin: constexpr int monthsInDecade = monthsPerYear * 10;. İki değer de derleme zamanında bilindiği için çarpım da derleme zamanında hesaplanır ve 120 sonucu çalışma zamanında hazır bulunur.

constexpr ile const farkı

const bir değişkenin sonradan değişmeyeceğini söyler; ancak değeri çalışma zamanında da hesaplanabilir: const int n = getValue(); geçerlidir.

constexpr daha katıdır: değer mutlaka derleme zamanında hesaplanabilir olmalıdır. Bu yüzden constexpr int n = getValue(); ancak getValue constexpr ise derlenir. constexpr, derleme zamanı sabiti gerektiren yerlerde (dizi boyutu, şablon parametresi) kullanılır.

Uygulama constexpr sabitleri tanımla

constexpr int monthsPerYear = 12; ve constexpr int monthsInDecade = monthsPerYear * 10; tanımla. main içinde std::cout << monthsInDecade; yaz.

Başlangıç kodu

main.cpp
#include <iostream>

// constexpr sabitleri buraya tanımla

int main() {
    // Sonucu yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

constexpr int monthsPerYear = 12;
constexpr int monthsInDecade = monthsPerYear * 10;

int main() {
    std::cout << monthsInDecade;
    return 0;
}

Beklenen çıktı

120

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 constexpr int x = 5; ifadesi ne sağlar?

main.cpp
constexpr int x = 5;
  • Sadece float için kullanılır
  • Yalnızca çalışma zamanında hesaplanır
  • Değişken sonradan değiştirilebilir
  • Değer derleme zamanında bilinir Doğru cevap

Açıklama: constexpr, derleme zamanında bilinen bir sabit tanımlar.

2 constexpr sabitini tamamla

Soru
constexpr int monthsPerYear = ____;
Cevap
constexpr int monthsPerYear = 12;

Açıklama: constexpr int monthsPerYear = 12; yazılır; yılın ay sayısı 12'dir.

3 Bildirimi özelliğine eşle

Kavram Anlamı
constexpr int x = 5; Derleme zamanı sabit
const int y = getValue(); Çalışma zamanı sabiti
constexpr int z = x * 2; Hesaplanabilir sabit
int w = 7; Değişebilir değişken

Uzman bölümündeki tüm dersler