# C++ Sabitler

C++ Sabitler konusunu işliyoruz.

Sabitler, programda belirli bir değere sahip değişkenlerdir. Program boyunca bu değeri hafızasında tutacak ve hep kullanacaktır. Bu sebeple yazıldıkları yer bakımından da işlev bakımından da değişkenlerden biraz farklıdırlar.

  • Sabitler, normal değişkenler gibidir. Ama bir kez değer atandıktan sonra program tarafından değiştirilemez.

  • Sabit değerlerde kullanılır. Bu sayede değiştirilmesine izin verilmez. Örneğin Pi sayısı.

  • Sabit değerlerin veri tipleri kısıtlaması yoktur. Her veri tipindeki değerleri sabit olarak tanımlayabilirsiniz.

C++ ile sabit tanımlamanın iki yolu vardır.

  • #define kullanarak.

  • const anahtar kelimesini kullanarak.

1. define Tanımlayıcı Değer

Programınızın başında sabit değer alacak değişkenleri define anahtar kelimesi ile tanımlayarak program içinde daha anlaşılabilir bir şekilde kullanabilirsiniz. Sabit değerde değişiklik yapacağınız zaman define ile oluşturduğunuz değeri güncellemeniz yeterli olacaktır.

#include <iostream>
using namespace std;
 
#define UZUNLUK 10   
#define GENISLIK 5
 
int main() {
   int alan;  
   alan = UZUNLUK * GENISLIK ;
   cout << alan;
   return 0;
}

2. const Anahtar Kelimesi

Aşağıdaki gibi belirli bir türdeki sabitleri bildirmek için const ön ekini kullanabilirsiniz.

#include <iostream>
using namespace std;
 
int main() {
   const int  YUKSEKLIK = 10;
   const int  GENISLIK  = 5;
   int alan;  
   
   area = YUKSEKLIK * GENISLIK;
   cout << alan;
   return 0;
}

3. #define ve const Arasındaki Fark

define methodu bir önişlemci gibi davranır. Yani herhangi bir derleme işlemine girmez ve kodda yeniden aranır. Const ise gerçek bir değişken gibi davrandığı için tüm işlemler rahatlıkla gerçekleştirilir. Temelde ikisi de aynı işi yapar ve hatta ikisi de birbirinden neredeyse farksızdır diyebiliriz. Lakin hata derleyicileri bir program için oldukça önemlidir ve const bir değişken olarak davrandığından dolayı bu alanda size avantaj sağlayacaktır. Bunun dışında basit işlemlerde olmasa bile kompleks yapılı işlemlerde define methodunda problemlerin yaşandığı söylenmektedir. Bu sebeple C++ programlama dilinde tercih edilmesi gerekenin const olduğunu yazılımcılar dile getirmektedir.

Last updated