Const Correctness: C++'da Değişmezliği Garanti Etme
# Const Correctness: C++'da Değişmezliği Garanti Etme
C++'da const anahtar sözcüğü, bir değişken ya da nesnenin çalışma sırasında değiştirilmesini engellemek için kullanılır. Bu sayede derleyici, hata yapma olasılığını azaltır ve kodun niyetini açıkça ifade edersin.
Bir değişkeni const olarak işaretlediğinde, derleyici ona atama yapılmasını engeller. Böylece veri bütünlüğü korunur ve mantıksal hatalar erken yakalanır. Örneğin, bir işlev bir değeri sadece okumalı, değiştirmemelidir, bunu const ile garantiye alabilirsin.
Sabit bir değer tanımla:
1#include <iostream>2using namespace std;34int main() {5const int MAX_USERS = 100;6// MAX_USERS = 200; // HATA: const değişken değiştirilemez7cout << "Maksimum kullanıcı: " << MAX_USERS << endl;8return 0;9}Çıktı:
1Maksimum kullanıcı: 100Bir işlev nesneyi değiştirmeyecekse, const olarak işaretле:
1#include <iostream>2using namespace std;34class Hesap {5private:6double bakiye;7public:8Hesap(double b): bakiye(b) {}910// const işlev: bakiye'yi değiştiremiyor11double getBakiye() const {12return bakiye;13}1415// const olmayan işlev: bakiye'yi değiştirebiliyor16void paraCek(double miktar) {17bakiye -= miktar;18}19};2021int main() {22const Hesap h(1000);23cout << "Bakiye: " << h.getBakiye() << endl;24// h.paraCek(100); // HATA: const nesne non-const işlev çağıramaz25return 0;26}Çıktı:
1Bakiye: 1000Bir işleve const referans geçirerek veriyi değiştirmesini engelle:
1#include <iostream>2using namespace std;34void yazdir(const string& metin) {5cout << metin << endl;6// metin = "başka"; // HATA: const referans değiştirilemez7}89int main() {10string mesaj = "Merhaba Dünya";11yazdir(mesaj);12return 0;13}Çıktı:
1Merhaba DünyaConst kullanımı üç temel yerde işe yarar: sabit değişkenler, değiştirilmeyecek nesneleri işlev parametresi olarak geçme ve bir işlevin nesne durumunu değiştirmeyeceğini belirtme. Derleyici bu garantileri kontrol eder, böylece beklenmedik değişikliklerden korunursun.
0 yorum