şükela:  tümü | bugün
  • sabitin derleme zamanında bellirlendiğini garanti altına alır. const çalışma zamanında da belirlenebilir.
  • c++'ın derleme zamanı çalışan fonksiyonlarını işaretlemek için kullanılan anahtar kelime.

    (bkz: const)
    (bkz: const-correctness)
  • kısaltma: constant expression
    ing. sabit ifade

    işaretlendiği nesnenin derleme zamanında "çalışabileceğini" söyleyen c++ diline ait bir anahtar kelime.

    constexpr int square(const int t_val) { return t_val * t_val; }

    auto k = square(10); // bu kod derleme zamanında çalışır

    int inputfromuser;
    std::cin >> inputfromuser;
    std::cout << square(inputfromuser); // bu kod koşma zamanında çalışır

    yakın zamanda cmath fonksiyonları da dahil pek çok fonksiyonun constexpr olacağı söyleniyor.

    doğal bir soru neden derleme zamanının, koşma zamanına tercih edilmesi gerektiği?
    çünkü program bir kere derleniyor ve defalarca çalışıyor.

    bu yaklaşımın artıları:
    programın çalışma hızını artırması
    programın çalışma zamanını azaltması
    programın daha az binary üretmesi
    hataların daha çabuk bulunması

    eksileri:
    çalıştırılabilir dosya(executable) boyutunu artırması
    derleme zamanını artırması

    konuyla ilgili yazdığım yazı buradan ulaşılabilir.